Commit Graph

18740 Commits

Author SHA1 Message Date
Brad King b01b0d74f2 Merge branch 'cmake-gui-osx-install-command-line' into release 2015-06-24 09:10:31 -04:00
Brad King d2cf92ec26 cmake-gui: Change --install to use /usr/local/bin by default (#15627)
In commit v3.3.0-rc1~49^2~2 (cmake-gui: Add --install option to add
command-line tools on OS X, 2015-05-19) the option default was set to
/usr/bin because that is where the old command line install dialog
placed the symlinks.  A better default is /usr/local/bin because it is
meant for locally installed software rather than Apple-installed tools.
Also, as of OS X El Capitan, special privileges are required even for
root to modify /usr/bin but not /usr/local/bin.
2015-06-24 08:57:50 -04:00
Kitware Robot 6b5e94baa2 CMake Nightly Date Stamp 2015-06-24 00:01:06 -04:00
Brad King 56e5d4e180 Merge topic 'use-generator-target'
e7714235 Get the local generator from the GeneratorTarget.
5aa556be cmMakefileTargetGenerator: Require cmGeneratorTarget.
bb88668a cmNinjaGenerator: Require cmGeneratorTarget.
a3b210fd cmGeneratorTarget: Require a cmLocalGenerator to construct.
8ec60c67 cmGlobalGenerator: Create GeneratorTargets with a local generator.
dee197fe GHS: Use a cmGeneratorTarget in generator API.
b2b41b83 cmGeneratorTarget: Add accessor for cmLocalGenerator.
2e9333a1 C::B: Get the Makefile from the LocalGenerator, not vice-versa.
2015-06-23 09:08:20 -04:00
Brad King 5ab7dd544e Merge topic 'fix-function-missing-end'
5d85fb4f Fix assertion failure on unmatched function or macro
2015-06-23 09:08:18 -04:00
Brad King bddfe77d12 Merge topic 'qt-autogen-always-run'
2bf22a4b QtAutogen: Add comment explaining why rcc cannot use PRE_BUILD
0e346427 QtAutogen: Always run autogen step even when rcc is enabled (#15608)
2015-06-23 09:08:15 -04:00
Brad King 2bf22a4b90 QtAutogen: Add comment explaining why rcc cannot use PRE_BUILD 2015-06-23 09:05:30 -04:00
Kitware Robot 6ccb534df3 CMake Nightly Date Stamp 2015-06-23 00:01:05 -04:00
Stephen Kelly e77142350d Get the local generator from the GeneratorTarget.
The Makefile should not know the LocalGenerator at all
2015-06-22 13:23:46 -04:00
Stephen Kelly 5aa556be56 cmMakefileTargetGenerator: Require cmGeneratorTarget. 2015-06-22 13:23:45 -04:00
Stephen Kelly bb88668add cmNinjaGenerator: Require cmGeneratorTarget. 2015-06-22 13:23:45 -04:00
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
Brad King ec6d6be57d Merge topic 'minor-cleanups'
820986ed cmLocalGenerator: Constify GetIncludeDirectories method.
b3e2e332 QtAutogen: Get the global generator from the Makefile.
61c0113c cmLocalUnixMakefileGenerator3: Remove unused method.
080489b8 cmMakefile: Use member directly instead of through method.
8bfaadfa cmMakefile: Move IsRoot API from cmLocalGenerator.
217c243d cmake: Update the current snapshot when Resetting.
eb05dcd6 cmLocalGenerator: Add IssueMessage method.
cfae7fa4 cmMakefile: Use cmOutputConverter instead of cmLocalGenerator.
ccf7760f cmOutputConverter: Constify API.
2015-06-22 13:00:32 -04:00
Brad King 24a0825585 Merge topic 'clean-up-ReadListFile'
81eb2c58 cmMakefile: Simplify filename handling.
5c837686 cmMakefile: Make the IncludeScope more responsible.
c10ab014 cmMakefile: Move IncludeScope.
3404f8a0 cmMakefile: Move ListFile parsing responsibility out of internal method.
a1858136 cmMakefile: Rename parameter.
ad47e6e5 cmMakefile: Inline ReadListFileInternal into caller.
254be613 cmMakefile: Move resource management into the IncludeScope.
826b6e68 cmMakefile: Move IncludeScope to ReadDependentFile.
e53072d6 cmMakefile: Move IncludeScope instance.
b7166afa cmMakefile: Remove File from IncludeScope.
27f229b9 cmMakefile: Move include scope out of ReadListFileInternal.
9166b49d cmMakefile: Change order of raii scopes.
384a0dba cmMakefile: Simplify condition handling.
5e24ff17 cmMakefile: Split file handling from execution.
d5aaa2b9 cmMakefile: Move check for unused variables.
fff3c6cd cmMakefile: Move a container population.
...
2015-06-22 13:00:30 -04:00
Brad King c7180e822b Merge topic 'clean-up-cmListFileArgument'
782657db cmListFileArgument: Remove FilePath member.
a863c59f cmMakefile: Use GetExecutionFileStack method.
076760a6 cmMakefile: Add filename context to ExpandArguments.
569f4785 cmFunctionCommand: Store the FilePath when creating the prototype.
f971ab04 cmMacroCommand: Store the FilePath when creating the prototype.
2015-06-22 13:00:29 -04:00
Brad King 38ee28bfd5 Merge branch 'fix-function-missing-end' into release 2015-06-22 11:46:09 -04:00
Brad King 5d85fb4f40 Fix assertion failure on unmatched function or macro
The fix in commit v3.2.3~3^2 (Fix assertion failure on unmatched foreach
in function, 2015-05-18) broke handling of unmatched non-loop blocks
because it assumed all function blockers removed during error unwinding
were for loops, essentially switching the set of mishandled cases.

The purpose of the loop block push/pop operations is to define a scope
matching the lifetime of the loop function blockers.  Since our function
blockers already have the proper lifetime, simply move the push/pop
operations to their constructor/destructor.

Extend the RunCMake.Syntax test with a case covering this.
2015-06-22 11:41:51 -04:00
Kitware Robot f4144af905 CMake Nightly Date Stamp 2015-06-22 00:01:04 -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 782657db48 cmListFileArgument: Remove FilePath member.
It is now unused.
2015-06-21 20:57:26 +02:00
Stephen Kelly a863c59f70 cmMakefile: Use GetExecutionFileStack method. 2015-06-21 20:57:25 +02:00
Stephen Kelly 076760a63c cmMakefile: Add filename context to ExpandArguments.
The cmListFileArgument currently stores a FilePath for use in this
method.  The filename is the same as the CMAKE_CURRENT_LIST_FILE,
except if executing a macro or function defined in another file.

Set the context filename when expanding the arguments of macros and
functions using the filename recorded when defining the prototype.
2015-06-21 20:57:25 +02:00
Stephen Kelly 569f478537 cmFunctionCommand: Store the FilePath when creating the prototype. 2015-06-21 20:31:28 +02:00
Stephen Kelly f971ab04cf cmMacroCommand: Store the FilePath when creating the prototype.
Instead of setting it each time the macro is invoked.
2015-06-21 20:31:27 +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
Stephen Kelly 81eb2c58a1 cmMakefile: Simplify filename handling.
This method has only one caller.
2015-06-21 20:10:52 +02:00
Stephen Kelly 5c83768628 cmMakefile: Make the IncludeScope more responsible.
It is now responsible for all resource management when
including a file.
2015-06-21 20:10:52 +02:00
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 86bde2ef3e CMake 3.3.0-rc2 2015-06-09 10:31:54 -04: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 40e1ed9f9d Merge branch 'ctest-script-mode-no-legacy-cygwin' into release 2015-06-08 14:17:58 -04: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
Brad King c279078f14 Merge branch 'cmake-gui-osx-install-command-line' into release 2015-06-08 10:01:02 -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
Stephen Kelly 1981c9718b cmMakefile: Simplify InitializeFromParent method.
Provide a parent instead of requiring it to be computed through
the cmLocalGenerator.
2015-06-06 09:35:55 +02:00
Stephen Kelly 353e422b2a cmMakefile: Remove unused GetPolicies method. 2015-06-06 09:35:55 +02:00
Stephen Kelly 00bfa04748 cmMakefile: Out-of-line the cmMakefileCall. 2015-06-06 09:31:16 +02:00
Stephen Kelly db74ce5820 cmMakefile: Inline PushScope into PushFunctionScope.
Make it possible to group the various methods here a different way.
2015-06-06 09:30:45 +02:00
Stephen Kelly 59e21ffa13 Port static calls from cmLocalGenerator to cmOutputConverter. 2015-06-06 09:15:58 +02:00
Stephen Kelly 242dcc2c22 cmListFileBacktrace: Replace local generator with cmState::Snapshot.
Construct cmOutputConverter only when needed.
2015-06-06 09:15:57 +02:00
Stephen Kelly 1cff330b0f cmTarget: Port to cmOutputConverter. 2015-06-06 09:15:57 +02:00
Stephen Kelly 2f1bd62b23 cmCustomCommandGenerator: Port to cmOutputConverter. 2015-06-06 09:15:57 +02:00
Stephen Kelly 0f2a132437 cmCommandArgumentParserHelper: Port to cmOutputConverter. 2015-06-06 09:15:56 +02:00
Stephen Kelly 4d8b79ad7e cmComputeLinkInformation: Port to cmOutputConverter. 2015-06-06 09:15:56 +02:00
Stephen Kelly 8680520fea cmMakefile: Make the cmState::Snapshot accessible. 2015-06-06 09:15:56 +02:00
Stephen Kelly 6d7abb6326 cmOutputConverter: Extract from cmLocalGenerator.
The Convert methods never belonged to the local generator concept, so
split them out now.  The cmOutputConverter is cheap to construct and
destroy, so it can be instantiated where needed to perform
conversions.  This will allow further decoupling of cmLocalGenerator
from the configure step.

Inherit cmLocalGenerator from cmOutputConverter for the purpose of
source compatibility.
2015-06-06 09:15:55 +02:00
Kitware Robot 50a1bd3df1 CMake Nightly Date Stamp 2015-06-06 00:01:04 -04:00
Brad King 092f1539af Merge topic 'update-kwsys'
bccbe281 Merge branch 'upstream-kwsys' into update-kwsys
6cafd8ed KWSys 2015-06-03 (8533a79b)
2015-06-05 08:28:39 -04:00
Nils Gladitz cdf2cba3e7 VS: Use cmUuid RFC 4122 compliant hash based UUID generation 2015-06-05 09:17:17 +02:00
Kitware Robot 8d0347b571 CMake Nightly Date Stamp 2015-06-05 00:01:10 -04:00
Stephen Kelly ca140c2e89 cmMakefile: Create a unified raii for macro scopes. 2015-06-04 22:08:23 +02:00
Stephen Kelly d5dc4169ac cmMakefile: Create a unified raii for function scopes. 2015-06-04 22:08:23 +02:00
Stephen Kelly 4e5c70abe2 cmState: Extract a cmLinkedTree container adaptor.
This will be used to contain most of the content of the cmState
in several different trees.  Refer to the BuildsystemDirectory
state from the SnapshotData state.  Currently these trees have
the same structure, but that will change when we have more snapshot
types.
2015-06-04 21:20:59 +02:00
Stephen Kelly 7b9c75860d cmState: Group BuildsystemDirectory state together in a struct.
It needs to be snapshotted independently of other state.
2015-06-04 20:44:37 +02:00
Stephen Kelly 1b323949fe cmState: Extend Snapshot concept with a SnapshotType.
Store it together with the Parent position.
2015-06-04 20:44:37 +02:00
Stephen Kelly a824415724 cmState::Snapshot: Provide accessor for the cmState. 2015-06-04 20:20:25 +02:00
Stephen Kelly 1f4ef39603 cmLocalGenerator: Remove some commented lines of code.
They've been commented out for a decade, which seems long enough.
2015-06-04 19:25:37 +02:00
Brad King bccbe281ff Merge branch 'upstream-kwsys' into update-kwsys 2015-06-04 09:22:53 -04:00
Brad King 0886880e3b Merge topic 'cmMakefile-Configure'
7657e8b1 cmMakefile: Introduce a local cmMakefile variable.
4e8f242d cmMakefile: Store unconfigured cmMakefiles.
d65e0123 cmMakefile: Implement ConfigureSubDirectory in terms of cmMakefile.
f059ed16 cmMakefile: Move Configure responsibility from cmLocalGenerator.
a653611d cmake: Replace CurrentLocalGenerator concept with CurrentMakefile.
69a038a9 cmMakefile: Refactor directories specified with the subdirs command.
08637970 cmLocalGenerator: ComputeObjectMaxPath just before generating.
27e11c6f Merge Configure state with GeneratingBuildSystem state.
363caa2f cmLocalGenerator: De-virtualize Configure().
2015-06-04 09:13:35 -04:00
Brad King d6fe79f3ab Merge topic 'remove-CMAKE_USE_RELATIVE_PATHS'
6e570f85 cmLocalGenerator: Remove 'optional' parameter from Convert.
3d8c6cd9 cmLocalGenerator: Remove obsolete method.
e44e6bcc Port away from obsolete method.
1335992c Remove CMAKE_USE_RELATIVE_PATHS variable.
2015-06-04 09:13:33 -04:00
Brad King 5a1c8806bf Merge topic 'rename-cmState-API'
cf1233a0 cmState: Rename GetParent method.
942df88b cmState: Rename CreateSnapshot method.
da28f115 cmState: Add CreateBaseSnapshot method.
2015-06-04 09:13:31 -04:00
Brad King b49aef6b10 Merge topic 'minor-cleanups'
eb7b6f6d cmVariableWatchCommand: Simplify error reporting.
499ebb65 cmListFileBacktrace: Internalize the step of making paths relative.
80b433b0 cmGlobalGenerator: Don't use else after a return.
52919ac8 cmMakefile: Make cmListFileBacktrace default constructible.
b68f2ea8 cmMakefile: Add API for elseif to create backtrace.
17e13f0a cmMakefile: Simplify CMP0000 handling.
2015-06-04 09:13:27 -04:00
Brad King 94070b8dfa Merge topic 'ctest-merge-test-output'
721b7e3e CTest: Capture test stdout/stderr through one pipe (#15600)
2015-06-04 09:13:25 -04:00
Brad King 2b083b19eb Merge topic 'vs-deterministic-guid'
c85367f4 VS: Compute project GUIDs deterministically
2015-06-04 09:13:23 -04:00
Stephen Kelly 7657e8b1df cmMakefile: Introduce a local cmMakefile variable. 2015-06-04 09:06:42 -04:00
Stephen Kelly 4e8f242d17 cmMakefile: Store unconfigured cmMakefiles.
Not cmLocalGenerators.
2015-06-04 09:06:42 -04:00
Stephen Kelly d65e01235d cmMakefile: Implement ConfigureSubDirectory in terms of cmMakefile. 2015-06-04 09:06:42 -04:00
Stephen Kelly f059ed165b cmMakefile: Move Configure responsibility from cmLocalGenerator.
The generator should only have a function at generate time.
2015-06-04 09:06:41 -04:00
Stephen Kelly a653611db0 cmake: Replace CurrentLocalGenerator concept with CurrentMakefile. 2015-06-04 09:06:41 -04:00
Stephen Kelly 69a038a9e9 cmMakefile: Refactor directories specified with the subdirs command.
Store the directories on the cmMakefile as explicitly not-configured-yet.
2015-06-04 09:06:41 -04:00
Stephen Kelly 0863797037 cmLocalGenerator: ComputeObjectMaxPath just before generating. 2015-06-04 09:06:41 -04:00
Stephen Kelly 27e11c6fea Merge Configure state with GeneratingBuildSystem state. 2015-06-04 09:06:40 -04:00
Stephen Kelly 363caa2fa5 cmLocalGenerator: De-virtualize Configure().
The generators that override it do so in order to populate
data members which can instead be populated in Generate().
2015-06-04 09:06:40 -04:00
Stephen Kelly 6e570f857a cmLocalGenerator: Remove 'optional' parameter from Convert.
Port callers away from it.
2015-06-04 09:06:09 -04:00
Brad King c85367f408 VS: Compute project GUIDs deterministically
Compute deterministic GUIDs that are unique to the build tree by
hashing the path to the build tree with the GUID logical name.
Avoid storing them in the cache, but honor any found there.
This will allow project GUIDs to be reproduced in a fresh build
tree so long as its path is the same as the original, which may
be useful for incremental builds.
2015-06-04 08:40:08 -04:00
Kitware Robot 0cc7c9a743 CMake Nightly Date Stamp 2015-06-04 00:01:06 -04:00
Stephen Kelly 3d8c6cd964 cmLocalGenerator: Remove obsolete method. 2015-06-03 11:44:26 -04:00
Stephen Kelly e44e6bcc04 Port away from obsolete method. 2015-06-03 11:44:26 -04:00
Stephen Kelly 1335992c8f Remove CMAKE_USE_RELATIVE_PATHS variable.
The test for this variable was removed in commit v2.8.8~330^2~7 (complex:
Remove ancient unused ComplexRelativePaths test, 2011-12-23).

Commit v3.1.0-rc1~425^2~2 (backtrace: Convert to local paths in
IssueMessage, 2014-03-12) appears to have accidentally made some backtraces
print relative paths with the variable because conversions which used to be
done at configure time, before the variable had an effect are now potentially
done at generate time.

The documentation of the variable says not to use it, and the docs are wrong in
that the variable actually applies in per-directory scope.

The read of the variable makes it harder to split conversion methods from
cmLocalGenerator where they don't belong.  Remove it now.
2015-06-03 11:43:31 -04:00
Brad King 721b7e3e56 CTest: Capture test stdout/stderr through one pipe (#15600)
Use the KWSys Process "MergeOutput" option to give each test child
process the same pipe for both stdout and stderr.  This allows natural
merging of stdout and stderr together instead of merging on arbitrary
buffered read boundaries as before.
2015-06-03 08:47:49 -04:00
Kitware Robot 758392f51f CMake Nightly Date Stamp 2015-06-03 00:01:08 -04:00
Stephen Kelly cf1233a0ea cmState: Rename GetParent method.
Leave the namespace open for other Parent types.
2015-06-03 01:15:03 +02:00
Stephen Kelly 942df88bf8 cmState: Rename CreateSnapshot method.
Leave the namespace open for other snapshot types.
2015-06-03 01:14:34 +02:00
Stephen Kelly da28f11523 cmState: Add CreateBaseSnapshot method. 2015-06-03 01:14:33 +02:00
Stephen Kelly eb7b6f6db4 cmVariableWatchCommand: Simplify error reporting. 2015-06-03 01:04:01 +02:00
Stephen Kelly 499ebb6564 cmListFileBacktrace: Internalize the step of making paths relative.
Currently cmMakefile calls MakeRelative on a copy of the backtrace,
emits the copy to the stream once, then discards the copy.  There
is no need to have API for the path conversion.
2015-06-03 01:04:00 +02:00
Stephen Kelly 80b433b05e cmGlobalGenerator: Don't use else after a return. 2015-06-03 01:04:00 +02:00
Stephen Kelly 52919ac8ac cmMakefile: Make cmListFileBacktrace default constructible. 2015-06-03 01:03:59 +02:00
Stephen Kelly b68f2ea8ae cmMakefile: Add API for elseif to create backtrace. 2015-06-03 01:03:58 +02:00
Stephen Kelly 17e13f0a2d cmMakefile: Simplify CMP0000 handling. 2015-06-03 01:03:57 +02:00
Brad King d3bb5da929 Begin post-3.3 development 2015-06-02 11:19:44 -04:00
Brad King c2cb80cbfa CMake 3.3.0-rc1 version update 2015-06-02 11:14:25 -04:00
Kitware Robot d9f630a171 CMake Nightly Date Stamp 2015-06-02 00:01:09 -04:00