Commit Graph

28542 Commits

Author SHA1 Message Date
Stephen Kelly a3b210fd6c cmGeneratorTarget: Require a cmLocalGenerator to construct. 2015-06-22 13:23:45 -04:00
Stephen Kelly 8ec60c675a cmGlobalGenerator: Create GeneratorTargets with a local generator. 2015-06-22 13:23:45 -04:00
Stephen Kelly dee197fe61 GHS: Use a cmGeneratorTarget in generator API. 2015-06-22 13:23:45 -04:00
Stephen Kelly b2b41b83ff cmGeneratorTarget: Add accessor for cmLocalGenerator. 2015-06-22 13:23:45 -04:00
Stephen Kelly 2e9333a1d0 C::B: Get the Makefile from the LocalGenerator, not vice-versa.
The Makefile is a configure-time concept, and the LocalGenerator
is a generate time concept.  The LocalGenerator should not be available
from the Makefile.
2015-06-22 13:23:42 -04:00
Stephen Kelly 820986edff cmLocalGenerator: Constify GetIncludeDirectories method. 2015-06-21 21:14:09 +02:00
Stephen Kelly b3e2e332eb QtAutogen: Get the global generator from the Makefile. 2015-06-21 21:14:08 +02:00
Stephen Kelly 61c0113c13 cmLocalUnixMakefileGenerator3: Remove unused method. 2015-06-21 21:14:07 +02:00
Stephen Kelly 080489b8a9 cmMakefile: Use member directly instead of through method.
This function will not be around much longer anyway.
2015-06-21 21:14:06 +02:00
Stephen Kelly 8bfaadfa39 cmMakefile: Move IsRoot API from cmLocalGenerator. 2015-06-21 21:14:05 +02:00
Stephen Kelly 217c243db0 cmake: Update the current snapshot when Resetting.
This will matter when definitions are stored in the cmState.
2015-06-21 20:19:53 +02:00
Stephen Kelly eb05dcd6c9 cmLocalGenerator: Add IssueMessage method.
For use at generate-time instead of the cmMakefile method of the same name.
2015-06-21 20:17:59 +02:00
Stephen Kelly cfae7fa408 cmMakefile: Use cmOutputConverter instead of cmLocalGenerator. 2015-06-21 20:17:18 +02:00
Stephen Kelly ccf7760f00 cmOutputConverter: Constify API. 2015-06-21 20:13:28 +02:00
Kitware Robot 155ef53597 CMake Nightly Date Stamp 2015-06-21 00:01:03 -04:00
Kitware Robot 4fa99b9922 CMake Nightly Date Stamp 2015-06-20 00:01:04 -04:00
Brad King 664156c231 Merge branch 'release' 2015-06-19 08:56:35 -04:00
Brad King 41cd8547c4 Merge topic 'GNUInstallDirs-special-prefixes'
8bcec4d2 Help: Add notes for topic 'GNUInstallDirs-special-prefixes'
c8bd37ec GNUInstallDirs: Add special cases for certain prefixes
5f30f175 GNUInstallDirs: Add test cases
2015-06-19 08:51:45 -04:00
Brad King a53f1af79f Merge topic 'ConcurrentFortran-compiler-id'
54676a0e Help: Add notes for topic 'ConcurrentFortran-compiler-id'
7cd539b1 Add support for Concurrent Fortran 77 Compiler
0d204c1c CMakeDetermineCompilerId: Try matching compiler output to detect id
5f0dad75 CMakeDetermineCompilerId: Refactor id build/check loop logic
c65a060e CMakeDetermineCompilerId: Optionally try some flags before no flags
2015-06-19 08:51:43 -04:00
Brad King c780524a96 Merge topic 'doc-CMAKE_GENERATOR_PLATFORM-typo'
1c9db7db Help: Fix typo in CMAKE_GENERATOR_PLATFORM docs (#15621)
2015-06-19 08:51:41 -04:00
Brad King ea69c7cb96 Merge topic 'Embarcadero-ninja-link-pool'
078b60f0 Embarcadero: Run at most one linker invocation at a time (#15620)
2015-06-19 08:51:39 -04:00
Kitware Robot 66a2675e2b CMake Nightly Date Stamp 2015-06-19 00:01:07 -04:00
James Johnston 078b60f05c Embarcadero: Run at most one linker invocation at a time (#15620)
At least some versions (e.g. C++ Builder 5) of the bcc32 linker are known to
write temporary files with a constant name to the current directory (e.g.
"turboc.$ln").  (This can be verified by using Process Monitor to watch the
file writes that bcc32 / ilink32 / implib make).  This causes problems with
some generators that keep a constant current directory and run concurrent
linkers.

For example, the Ninja generator, by default, always has the current directory
set to the top of the build tree - resulting in conflicts between the linkers
that are simultaneously trying to write to "turboc.$ln".  Symptoms include
direct errors regarding the "turboc.$ln" file, or later build steps failing due
to corrupted output from previous links that happened to link "successfully."

This is not a problem for the Borland Makefiles generator which does not
run jobs in parallel.  For the Ninja generator, work around this problem
by using a link job pool of size 1.
2015-06-18 16:29:43 -04:00
Brad King 54676a0e4c Help: Add notes for topic 'ConcurrentFortran-compiler-id' 2015-06-18 16:16:50 -04:00
Brad King 7cd539b163 Add support for Concurrent Fortran 77 Compiler
The Concurrent Fortran compiler (ccur.com) is available on Linux and can
be used much like the GNU Fortran compiler.  Currently it has no
preprocessor symbols to identify it so we need to detect it by matching
compiler output.

Suggested-by: Anthony Ette <Anthony.R.Ette@controlsdata.com>
2015-06-18 11:36:12 -04:00
Brad King 0d204c1c1d CMakeDetermineCompilerId: Try matching compiler output to detect id
Some compilers can only be distinguished by their compilation output
rather than preprocessor symbols or special flags.  Add infrastructure
to determine the compiler id by matching output.
2015-06-18 11:28:36 -04:00
Brad King 5f0dad75a9 CMakeDetermineCompilerId: Refactor id build/check loop logic
Callers of CMAKE_DETERMINE_COMPILER_ID initialize the
CMAKE_${lang}_COMPILER_ID to unset so we can check it at the end of each
loop iteration instead of the beginning.  This approach allows us to
break out of the loop as soon as we succeed.  It will also allow checks
to be added in more places within the loop later.
2015-06-18 11:27:00 -04:00
Brad King c65a060e1b CMakeDetermineCompilerId: Optionally try some flags before no flags
Teach CMAKE_DETERMINE_COMPILER_ID to optionally try detecting the
compiler id using some given flags before trying to detect it with no
special flags.  This will be useful for Fortran detection to distinguish
some compilers that use the preprocessors of others but have no macro of
their own by getting verbose output.
2015-06-18 10:59:35 -04:00
Brad King 8576c394b1 Merge branch 'doc-CMAKE_GENERATOR_PLATFORM-typo' into release 2015-06-18 09:18:06 -04:00
Brad King 1c9db7db2c Help: Fix typo in CMAKE_GENERATOR_PLATFORM docs (#15621)
s/toolset/platform/
2015-06-18 09:16:43 -04:00
Brad King e2e6cb7348 Merge topic 'linux-GNU-Fortran-no-rdynamic'
f43defae GNU: Drop -rdynamic flag from Fortran
2015-06-18 09:05:20 -04:00
Brad King 9223c6cb12 Merge topic 'update-kwsys'
502430e3 Merge branch 'upstream-kwsys' into update-kwsys
da4cddd7 KWSys 2015-06-15 (d217407c)
2015-06-18 09:05:19 -04:00
Brad King 940ea9ff4a Merge topic 'quote-doxygen-tools'
15c6a4c9 Utilities/Doxygen: Support tools installed in paths with spaces
2015-06-18 09:05:15 -04:00
Brad King ab00ff8d7a Merge topic 'GNUInstallDirs-doc-format'
1199ebf1 GNUInstallDirs: Improve documentation formatting
2015-06-18 09:05:13 -04:00
Brad King 8bcec4d229 Help: Add notes for topic 'GNUInstallDirs-special-prefixes' 2015-06-18 08:59:34 -04:00
Alex Turbov c8bd37ec68 GNUInstallDirs: Add special cases for certain prefixes
Teach the module to handle SYSCONFDIR and LOCALSTATEDIR properly if
CMAKE_INSTALL_PREFIX is set to `/` or `/usr` -- i.e. as expected by GNU
Coding Standard (i.e. set SYSCONFDIR to `/etc` and `LOCALSTATEDIR` to
`/var`).  Also if CMAKE_INSTALL_PREFIX is set to /opt/pkg, `SYSCONFDIR`
must be set to `/etc/opt/pkg` and `LOCALSTATEDIR` to `/var/opt/pkg`
according to FHS.
2015-06-18 08:59:34 -04:00
Brad King 5f30f1754a GNUInstallDirs: Add test cases
Add a RunCMake.GNUInstallDirs test with cases covering various install
prefixes.  Hard-code the architecture information.  Tolerate all
platform-specific LIBDIR values.

Currently the root prefix is not handled well, but verify the current
behavior in the test anyway.  This can be addressed with a future
change.

Inspired-by: Alex Turbov <i.zaufi@gmail.com>
2015-06-18 08:59:24 -04:00
Kitware Robot f17e89c004 CMake Nightly Date Stamp 2015-06-18 00:01:04 -04:00
Kitware Robot ee5c40a5f8 CMake Nightly Date Stamp 2015-06-17 00:01:04 -04:00
Brad King f43defaec4 GNU: Drop -rdynamic flag from Fortran
The GNU Fortran compiler does not document support for this flag as the
GNU C and C++ compilers do.
2015-06-16 13:58:41 -04:00
Brad King 5e92047421 Merge topic 'update-prebuilt-openssl'
6d1cef1a Utilities/Release: Update to openssl-1.0.2c
2015-06-16 10:39:14 -04:00
Brad King ee223dfa91 Merge topic 'fix-windows-preprocessor-checks'
83af11d4 Fix preprocessor checks WIN32 => _WIN32
2015-06-16 10:39:12 -04:00
Brad King e5ed8b22cb Merge topic 'cmake--build-dir'
90ad087a cmake: Fix --build <relative-dir> for VS generators (#15609)
7195ec92 Tests: Extend RunCMake.CommandLine to cover --build with no arg
2015-06-16 10:39:10 -04:00
Brad King b6b4a1cb12 Merge topic 'cpack-rpm-and-deb-runcmake-tests'
5f61ed99 Tests: Move RunCMake.CPackRPM case into RunCMake.CPack_RPM test
e726fc02 Tests: Add RunCMake tests for CPack{Deb,RPM}
2015-06-16 10:39:08 -04:00
Brad King 1199ebf1c5 GNUInstallDirs: Improve documentation formatting
Also consolidate the description of each variable.
2015-06-16 10:33:48 -04:00
Michael Stürmer 15c6a4c919 Utilities/Doxygen: Support tools installed in paths with spaces
Quote paths to tools in generation script.
2015-06-16 09:07:41 -04:00
Brad King 502430e39c Merge branch 'upstream-kwsys' into update-kwsys 2015-06-16 08:49:12 -04:00
KWSys Robot da4cddd787 KWSys 2015-06-15 (d217407c)
Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ d217407c | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 8533a79b..d217407c
Brad King (1):
      d217407c SystemTools: Fix preprocessor check WIN32 => _WIN32
2015-06-16 08:48:52 -04:00
Kitware Robot 157396b131 CMake Nightly Date Stamp 2015-06-16 00:01:05 -04:00
Domen Vrankar 5f61ed991b Tests: Move RunCMake.CPackRPM case into RunCMake.CPack_RPM test
Move PARTIALLY_RELOCATABLE_WARNING test to the new common CPack test
script structure to have all tests in one place as well as additional
benefit of having some more checks done during test execution.
2015-06-15 15:09:07 -04:00