Commit Graph

18599 Commits

Author SHA1 Message Date
Stephen Kelly c10ab01434 cmMakefile: Move IncludeScope. 2015-06-21 20:10:52 +02:00
Stephen Kelly 3404f8a081 cmMakefile: Move ListFile parsing responsibility out of internal method. 2015-06-21 20:10:51 +02:00
Stephen Kelly a1858136c2 cmMakefile: Rename parameter. 2015-06-21 20:10:51 +02:00
Stephen Kelly ad47e6e5bc cmMakefile: Inline ReadListFileInternal into caller. 2015-06-21 20:10:50 +02:00
Stephen Kelly 254be613b8 cmMakefile: Move resource management into the IncludeScope. 2015-06-21 20:10:50 +02:00
Stephen Kelly 826b6e6818 cmMakefile: Move IncludeScope to ReadDependentFile.
Add replacement simple push/pop in the other two callers of
ReadListFile.
2015-06-21 20:10:50 +02:00
Stephen Kelly e53072d638 cmMakefile: Move IncludeScope instance. 2015-06-21 20:10:49 +02:00
Stephen Kelly b7166afa6d cmMakefile: Remove File from IncludeScope.
Get it from the Makefile instead.
2015-06-21 20:10:49 +02:00
Stephen Kelly 27f229b970 cmMakefile: Move include scope out of ReadListFileInternal.
Simplify the ReadListFileInternal API.
2015-06-21 20:10:48 +02:00
Stephen Kelly 9166b49d70 cmMakefile: Change order of raii scopes. 2015-06-21 20:10:48 +02:00
Stephen Kelly 384a0dba63 cmMakefile: Simplify condition handling. 2015-06-21 20:10:48 +02:00
Stephen Kelly 5e24ff17a2 cmMakefile: Split file handling from execution. 2015-06-21 20:10:47 +02:00
Stephen Kelly d5aaa2b96f cmMakefile: Move check for unused variables. 2015-06-21 20:10:47 +02:00
Stephen Kelly fff3c6cd1c cmMakefile: Move a container population. 2015-06-21 20:10:47 +02:00
Stephen Kelly a6e661b848 cmMakefile: Rename variables. 2015-06-21 20:10:46 +02:00
Stephen Kelly fe38bb2c29 cmMakefile: Change return type of ReadListFileInternal. 2015-06-21 20:10:46 +02:00
Stephen Kelly ac10fc0958 cmMakefile: Move listfile parsing responsibility. 2015-06-21 20:10:45 +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 0e346427a2 QtAutogen: Always run autogen step even when rcc is enabled (#15608)
In commit v3.2.0-rc1~480^2 (QtAutogen: Regenerate qrc files if their input
changes, 2014-09-17) the "cmake -E cmake_autogen" rule was switched from
always running to running as a custom command with dependencies if rcc
is enabled.  This is not correct because automoc always needs to re-run.
Switch back to always running the command.
2015-06-19 10:29:38 -04:00
Kitware Robot 66a2675e2b CMake Nightly Date Stamp 2015-06-19 00:01:07 -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
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 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 502430e39c Merge branch 'upstream-kwsys' into update-kwsys 2015-06-16 08:49:12 -04:00
Kitware Robot 157396b131 CMake Nightly Date Stamp 2015-06-16 00:01:05 -04:00
Brad King 83af11d411 Fix preprocessor checks WIN32 => _WIN32
The latter is predefined by Windows toolchains and is more reliable.

Reported-by: Michael Stürmer <michael.stuermer@schaeffler.com>
2015-06-15 09:58:29 -04:00
Brad King c1113705d7 Merge topic 'compiler-launcher'
698f7597 Add options to launch the compiler through tools like ccache or distcc
2015-06-15 09:45:28 -04:00
Brad King 919b116f98 Merge topic 'ctest_update-RETURN_VALUE'
493388ce ctest_update: Fix RETURN_VALUE on VCS tool failure (#15610)
bcf25803 Tests: Teach CTest.Update* tests to check ctest_update return code
b6667729 Tests: Simplify CTest.UpdateGIT QUIET mode test
2015-06-15 09:45:27 -04:00
Brad King f8bc48413c Merge topic 'fix-fast-special-targets'
0efe4944 cmGlobalGenerator: Add ComputeHomeRelativeOutputPath method.
bc1211fa cmLocalUnixMakefileGenerator3: Remove unused variable.
2015-06-15 09:45:25 -04:00
Bill Hoffman 698f75971b Add options to launch the compiler through tools like ccache or distcc
Create a <LANG>_COMPILER_LAUNCHER target property (initialized by a
CMAKE_<LANG>_COMPILER_LAUNCHER variable) to specify a compiler launcher
tool.  This will supersede the CMAKE_<LANG>_COMPILER_ARG1 approach to
using such tools.  The old approach set CMAKE_<LANG>_COMPILER to the
launcher tool while the new approach leaves this variable set to the
actual compiler.

Implement this property for Makefile and Ninja generators.  It cannot be
implemented for VS or Xcode generators as the IDE build tools offer no
such hooks.
2015-06-15 09:36:48 -04:00
Kitware Robot 9cbb9ed4c9 CMake Nightly Date Stamp 2015-06-15 00:01:03 -04:00
Kitware Robot 081f6d9172 CMake Nightly Date Stamp 2015-06-14 00:01:04 -04:00
Stephen Kelly 0efe4944e1 cmGlobalGenerator: Add ComputeHomeRelativeOutputPath method.
Fix generation of tgt/fast build targets.

Commit 363caa2f (cmLocalGenerator: De-virtualize Configure().,
2015-05-30) moved the computation of HomeRelativeOutputPath from
Configure-time to Generate-time, because it is only used at
Generate-time.  However, that commit caused the member for one
local generator to be computed immediately before generating with
that local generator, whereas previously the members of all local
generators were computed before generating any of them.

The HomeRelativeOutputPath is used by the GetRelativeTargetDirectory
method, which is called by the
cmGlobalUnixMakefileGenerator3::WriteConvenienceRules method.  That
method is called by the
cmLocalUnixMakefileGenerator3::WriteLocalMakefile method when generating
for the top-most (ie, the first) local generator.  At that point,
the HomeRelativeOutputPath is not yet computed.

Fix that by computing the member just before generating anything.
This will eventually be done in the cmLocalUnixMakefileGenerator3
constructor instead, but further refactoring is needed to make
that possible.
2015-06-13 08:38:27 +02:00
Stephen Kelly bc1211fa7d cmLocalUnixMakefileGenerator3: Remove unused variable. 2015-06-13 08:38:19 +02:00
Kitware Robot 98133d3d4d CMake Nightly Date Stamp 2015-06-13 00:01:05 -04:00
Kitware Robot 03e2248188 CMake Nightly Date Stamp 2015-06-12 00:01:04 -04:00
Brad King 90ad087ab9 cmake: Fix --build <relative-dir> for VS generators (#15609)
The VS >= 10 generators need to parse the .sln file from the build
directory to locate targets in subdirectories.  This occurs after we
change the working directory to the build tree.  If a relative directory
other than "." was given then we would change to it and also refer to
the .sln file location with it.  Fix this by converting the build tree
to a full path always.  This will also give a more informative error
message when the directory does not exist.
2015-06-11 16:04:21 -04:00
Brad King d569008868 Merge topic 'fix-CMP0009-future-states'
a3a8177e cmFileCommand: Fix implementation of CMP0009.
2015-06-11 13:16:19 -04:00
Brad King 71d5245990 Merge topic 'minor-cleanups'
22d09ecf cmLocalGenerator: Remove ConfigureFinalPass.
821a711b project(): Remove unused variable.
2015-06-11 13:16:16 -04:00
Brad King 493388ce48 ctest_update: Fix RETURN_VALUE on VCS tool failure (#15610)
Make RETURN_VALUE report -1 if the update command failed as the
documentation claims.  Also avoid reporting a ctest script-level failure
if the update command fails because we still correctly administered the
update step.
2015-06-11 11:00:48 -04:00
Kitware Robot 07ee7bac74 CMake Nightly Date Stamp 2015-06-11 00:01:03 -04:00
Kitware Robot c9ee5de4af CMake Nightly Date Stamp 2015-06-10 00:01:06 -04:00
Stephen Kelly a3a8177edd cmFileCommand: Fix implementation of CMP0009. 2015-06-10 00:06:29 +02:00
Stephen Kelly 22d09ecf33 cmLocalGenerator: Remove ConfigureFinalPass.
Call the cmMakefile implementation directly.  This is a configure-time
construct.
2015-06-09 23:42:13 +02:00
Stephen Kelly 821a711b6f project(): Remove unused variable. 2015-06-09 23:42:13 +02:00
Brad King d78fbb6ad4 Merge topic 'move-CMP0059-handling'
52b9d828 cmMakefile: Move CMP0059 handling to command code.
fe603c7d cmGetDirectoryPropertyCommand: Move variable to the point of use.
8fc53c3c cmGetDirectoryPropertyCommand: Extract StoreResult method.
2015-06-09 09:19:00 -04:00
Brad King 82986700d1 Merge topic 'ctest-script-mode-no-legacy-cygwin'
12436efc ctest: Disable CMake Cygwin legacy warning in dashboard client script
2015-06-09 09:18:46 -04:00
Brad King d6011a61e9 Merge topic 'cmake-gui-osx-install-command-line'
d9b974b1 cmake-gui: Make command-line install help text selectable
2015-06-09 09:18:42 -04:00
Kitware Robot 2848f93d1a CMake Nightly Date Stamp 2015-06-09 00:01:04 -04:00
Stephen Kelly 52b9d828ab cmMakefile: Move CMP0059 handling to command code.
Don't pay a penalty for it in all GetProperty calls.

Additionally, the storage of properties will eventually move to
cmState, which should only contain state and not logic for policies
like this.
2015-06-08 22:23:44 +02:00
Stephen Kelly fe603c7dfb cmGetDirectoryPropertyCommand: Move variable to the point of use. 2015-06-08 22:18:42 +02:00
Stephen Kelly 8fc53c3ce8 cmGetDirectoryPropertyCommand: Extract StoreResult method. 2015-06-08 22:18:40 +02:00
Brad King 12436efc14 ctest: Disable CMake Cygwin legacy warning in dashboard client script
In ctest -S mode we load the CTestScriptMode module to give the
configuration scripts access to the host system information.
CYGWIN.cmake warns unless we explicitly tell it not to warn
since there is no chance for a cmake_minimum_required(VERSION)
to be called.
2015-06-08 14:16:28 -04:00
Brad King d17aa60659 Merge topic 'data-layout'
8174e5cd cmCustomCommand: Remove special member functions.
34e1d6db cmCustomCommand: Re-arrange data layout.
54cb76f2 cmComputeLinkDepends: Re-arrange data layout.
b661d6c6 cmQtAutoGenerators: Re-arrange data layout.
40844a14 cmProcessTools: Re-arrange data layout.
b1ff32af cmOrderDirectories: Re-arrange data layout.
dd0417c7 cmInstallTargetGenerator: Re-arrange data layout.
125c4866 cmInstallFilesGenerator: Re-arrange data layout.
92b8b1fc cmGraphVizWriter: Re-arrange data layout.
7f3e1623 cmGlobalGenerator: Re-arrange data layout.
d9df7fa7 cmComputeComponentGraph: Re-arrange data layout.
db24e41b cmCommandArgumentParserHelper: Re-arrange data.
4cd13e80 cmComputeLinkInformation: Re-arrange data layout.
3e087a40 cmLocalUnixMakefileGenerator: Re-arrange data layout.
e0421701 cmMakefile: Re-arrange data layout.
c26696eb cmSourceFile: Re-arrange data.
...
2015-06-08 13:54:11 -04:00
Brad King ccc6fe9445 Merge topic 'clean-up-cmMakefile'
4c192fb5 cmMakefile: Remove cacheOnly option from GetDefinitions.
046aafff cmGetCMakePropertyCommand: Don't explicitly specify default param.
021c4b6f cmMakefile: Simplify handling of CACHE_VARIABLES property.
1981c971 cmMakefile: Simplify InitializeFromParent method.
353e422b cmMakefile: Remove unused GetPolicies method.
00bfa047 cmMakefile: Out-of-line the cmMakefileCall.
db74ce58 cmMakefile: Inline PushScope into PushFunctionScope.
ca140c2e cmMakefile: Create a unified raii for macro scopes.
d5dc4169 cmMakefile: Create a unified raii for function scopes.
2015-06-08 13:54:09 -04:00
Brad King 21c92a00bf Merge topic 'minor-cleanups'
4ab7d407 cmExportTryCompileFileGenerator: Add newline between methods.
e133e409 cmExportTryCompileFileGenerator: Remove unused variable.
c197c692 cmDocumentation: Remove unused include.
2015-06-08 13:54:07 -04:00
Brad King f5690cc57c Merge topic 'move-Feature-API'
f573bd22 cmLocalGenerator: Add Feature API from cmMakefile.
ccbc2259 cmGeneratorTarget: Move Feature API from cmTarget.
2015-06-08 13:54:05 -04:00
Brad King d18852d596 Merge topic 'extract-cmOutputConverter'
59e21ffa Port static calls from cmLocalGenerator to cmOutputConverter.
242dcc2c cmListFileBacktrace: Replace local generator with cmState::Snapshot.
1cff330b cmTarget: Port to cmOutputConverter.
2f1bd62b cmCustomCommandGenerator: Port to cmOutputConverter.
0f2a1324 cmCommandArgumentParserHelper: Port to cmOutputConverter.
4d8b79ad cmComputeLinkInformation: Port to cmOutputConverter.
8680520f cmMakefile: Make the cmState::Snapshot accessible.
6d7abb63 cmOutputConverter: Extract from cmLocalGenerator.
a8244157 cmState::Snapshot: Provide accessor for the cmState.
1f4ef396 cmLocalGenerator: Remove some commented lines of code.
2015-06-08 13:54:02 -04:00
Brad King c8997d1b32 Merge topic 'extract-cmLinkedTree'
4e5c70ab cmState: Extract a cmLinkedTree container adaptor.
7b9c7586 cmState: Group BuildsystemDirectory state together in a struct.
1b323949 cmState: Extend Snapshot concept with a SnapshotType.
2015-06-08 10:34:55 -04:00
Brad King 25136d7394 Merge topic 'vs-deterministic-guid'
cdf2cba3 VS: Use cmUuid RFC 4122 compliant hash based UUID generation
2015-06-08 10:34:53 -04:00
Clinton Stimpson d9b974b18e cmake-gui: Make command-line install help text selectable
This will allow users to cut-n-paste the instructions over to a command
prompt.
2015-06-08 09:59:11 -04:00
Kitware Robot 9d68bd6a24 CMake Nightly Date Stamp 2015-06-08 00:01:03 -04:00
Stephen Kelly 4c192fb531 cmMakefile: Remove cacheOnly option from GetDefinitions.
It is now unused.
2015-06-07 15:21:56 +02:00
Stephen Kelly 046aafff12 cmGetCMakePropertyCommand: Don't explicitly specify default param. 2015-06-07 15:21:55 +02:00
Stephen Kelly 021c4b6f2b cmMakefile: Simplify handling of CACHE_VARIABLES property. 2015-06-07 15:21:55 +02:00
Stephen Kelly 8174e5cd94 cmCustomCommand: Remove special member functions.
The compiler generated ones are fine.  The existing implementations
here are incorrect as they omit some members.
2015-06-07 11:09:32 +02:00
Stephen Kelly 34e1d6db72 cmCustomCommand: Re-arrange data layout.
Size goes from 240 to 224 bytes.
2015-06-07 10:48:15 +02:00
Stephen Kelly 54cb76f299 cmComputeLinkDepends: Re-arrange data layout.
Size goes from 648 to 632 bytes.
2015-06-07 10:41:47 +02:00
Stephen Kelly 4ab7d407a5 cmExportTryCompileFileGenerator: Add newline between methods. 2015-06-07 10:32:53 +02:00
Stephen Kelly e133e40937 cmExportTryCompileFileGenerator: Remove unused variable. 2015-06-07 10:32:27 +02:00
Stephen Kelly c197c69281 cmDocumentation: Remove unused include. 2015-06-07 10:32:02 +02:00
Stephen Kelly b661d6c631 cmQtAutoGenerators: Re-arrange data layout.
Size goes from 920 to 912 bytes.
2015-06-07 10:24:28 +02:00
Stephen Kelly 40844a1487 cmProcessTools: Re-arrange data layout.
Size goes from 72 to 64 bytes.
2015-06-07 10:24:28 +02:00
Stephen Kelly b1ff32afc6 cmOrderDirectories: Re-arrange data layout.
Size goes from 680 to 672 bytes.
2015-06-07 10:24:27 +02:00
Stephen Kelly dd0417c7be cmInstallTargetGenerator: Re-arrange data layout.
Remove unused cmGeneratorTarget member.

Size goes from 238 to 232 bytes.
2015-06-07 10:24:27 +02:00
Stephen Kelly 125c48660c cmInstallFilesGenerator: Re-arrange data layout.
Size goes from 296 to 288 bytes.
2015-06-07 10:24:27 +02:00
Stephen Kelly 92b8b1fc3d cmGraphVizWriter: Re-arrange data layout.
Size goes from 272 to 264 bytes.
2015-06-07 10:24:26 +02:00
Stephen Kelly 7f3e16239f cmGlobalGenerator: Re-arrange data layout.
Size goes from 1488 to 1480 bytes.
2015-06-07 10:24:26 +02:00
Stephen Kelly d9df7fa70c cmComputeComponentGraph: Re-arrange data layout.
Size goes from 224 to 216 bytes.
2015-06-07 09:43:39 +02:00
Stephen Kelly db24e41b9d cmCommandArgumentParserHelper: Re-arrange data.
Size goes from 232 to 216 bytes.
2015-06-07 09:41:19 +02:00
Stephen Kelly 4cd13e80f0 cmComputeLinkInformation: Re-arrange data layout.
Size goes from 1944 to 1920 bytes.
2015-06-07 09:32:39 +02:00
Stephen Kelly 3e087a408b cmLocalUnixMakefileGenerator: Re-arrange data layout.
Size goes from 536 to 528 bytes.
2015-06-07 09:32:38 +02:00
Stephen Kelly e042170103 cmMakefile: Re-arrange data layout.
2168 to 2152 bytes with GNU libstdc++-5.1.
2015-06-07 09:32:38 +02:00
Stephen Kelly c26696eb40 cmSourceFile: Re-arrange data.
Size goes from 304 to 296 bytes.
2015-06-07 09:32:24 +02:00
Stephen Kelly 41fef23b9b cmTarget: Re-arrange data layout.
Size with GNU libstdc++-5.1 goes from 840 bytes to 808 bytes.
2015-06-07 09:29:31 +02:00
Stephen Kelly 647488570b cmTarget: Replace PolicyStatus members with PolicyMap.
sizeof(cmTarget) goes from 856 to 840 with GNU libstdc++ 5.1.
2015-06-07 09:29:31 +02:00
Stephen Kelly 6f148e4a48 cmTarget: Use method abstraction for policy status. 2015-06-07 09:29:31 +02:00
Stephen Kelly 5181fae264 cmPropertyMap: Remove chaining logic.
The chaining logic doesn't belong to the container, and the
CMakeInstance pointer doesn't need to be in cmPropertyMap.

Size goes from 56 to 48 bytes with GNU libstdc++-5.1.
2015-06-07 09:29:31 +02:00
Stephen Kelly 3ac4b90bfd cmPropertyMap: Require a non-empty name parameter.
The cmGetPropertyCommand already checks for this.
2015-06-07 09:29:30 +02:00
Stephen Kelly 7c0aa672fe cmPropertyMap: Remove scope parameter from API where not used. 2015-06-07 09:29:30 +02:00
Stephen Kelly 9058e27a43 Constify property definition API. 2015-06-07 09:29:30 +02:00
Stephen Kelly 1c48edf8fc cmProperty: Remove needless Name member.
Size goes from 72 to 40 bytes with GNU libstdc++-5.1.
2015-06-07 09:29:29 +02:00
Stephen Kelly 93cc2eef38 cmPolicies: Store all statuses in a single bitset.
Currently there are an optimal number of policies (64) such that
there are no wasted bits.  When another policy is added, the
cmPolicyMap will grow from 40 bytes to 80, and occupy 45.  By storing
all in a single bitset, we stay under the cache line size of 64 bytes
until there are 512 policies in a range.
2015-06-07 09:29:29 +02:00
Kitware Robot cb1a9c7b9c CMake Nightly Date Stamp 2015-06-07 00:01:03 -04:00
Stephen Kelly f573bd22e4 cmLocalGenerator: Add Feature API from cmMakefile. 2015-06-06 15:44:17 +02:00
Stephen Kelly ccbc225913 cmGeneratorTarget: Move Feature API from cmTarget. 2015-06-06 15:44:16 +02:00
Stephen Kelly 44a8115797 cmPolicies: Replace UNDEFINED bitset with WARN bitset.
Might as well use the existing concept.
2015-06-06 10:09:45 +02:00