Commit Graph

1145 Commits

Author SHA1 Message Date
Brad King 73e3de381d Merge topic 'cmState-policies'
757a1f54 cmState: Move PolicyState from cmMakefile.
52dbe654 cmState: Record the end position of each directory.
65a5e0c6 cmLinkedTree: Add Clear API.
34835433 cmState: Add Type for policy scope.
af0de01c cmState: Remove call stack parent tracking.
6ae8b30b cmMakefile: Move policy barriers inside cmState scopes.
a5fc17b5 cmMakefile: Re-order policy entries and barriers.
0a01e6c6 cmState: Add Snapshot Type accessor.
f0005bb4 Tests: Verify generate-time policy scope behavior.
2015-08-06 09:38:24 -04:00
Brad King 370e2c6785 Merge topic 'refactor-evaluation-files'
12c3f248 cmGeneratorExpressionEvaluationFile: Require generator context.
6c0e9ee2 cmMakefile: Store EvaluationFiles.
2015-08-06 09:38:22 -04:00
Brad King d356bced9b Merge topic 'fix-missing-subdir-error'
c4d2f64f add_subdirectory: Fix error message on missing CMakeLists.txt (#15680)
2015-08-06 09:38:17 -04:00
Brad King c4d2f64f3c add_subdirectory: Fix error message on missing CMakeLists.txt (#15680)
Refactoring in commit v3.3.0-rc1~76^2 (cmMakefile: Handle CMP0014 before
configuring the generator, 2015-05-14) accidentally left the file name
"/CMakeLists.txt" in the error message.  Remove it and add a test case.
2015-08-04 16:40:13 -04:00
Stephen Kelly 757a1f5408 cmState: Move PolicyState from cmMakefile.
Implement lexical scope checking in terms of the state stack instead
of barriers.
2015-08-02 08:56:57 +02:00
Stephen Kelly 348354333a cmState: Add Type for policy scope. 2015-08-02 08:56:57 +02:00
Stephen Kelly 12c3f24827 cmGeneratorExpressionEvaluationFile: Require generator context.
Avoid storing a cmMakefile as a member, and evaluate in the context of
a cmLocalGenerator instead.
2015-08-01 13:07:11 +02:00
Stephen Kelly 6c0e9ee276 cmMakefile: Store EvaluationFiles.
Relieve the cmGlobalGenerator of this responsibility.  Evaluate
the generator expressions in the context of the cmLocalGenerator.
2015-08-01 13:07:11 +02:00
Stephen Kelly 6ae8b30bf4 cmMakefile: Move policy barriers inside cmState scopes. 2015-08-01 07:18:34 +02:00
Stephen Kelly a5fc17b509 cmMakefile: Re-order policy entries and barriers.
Make the barriers surround the entries.
2015-08-01 07:18:34 +02:00
Stephen Kelly 610572b7d2 cmMakefile: Simplify generate-time cmGeneratorTarget creation. 2015-07-29 10:43:33 -04:00
Stephen Kelly 34b902a5a6 cmMakefile: Move method out of line. 2015-07-29 10:43:31 -04:00
Brad King aaa322a5cb cmMakefile: Return target from all AddUtilityCommand signatures 2015-07-29 10:43:31 -04:00
Brad King 280dde34dd Merge topic 'trace-expand'
594bafe5 cmake: add --trace-expand option
2015-07-27 09:31:22 -04:00
Brad King cb21c548db Merge topic 'policy-refactor'
8329fc01 cmPolicies: Replace unused include.
5447ca1a cmMakefile: Remove CMP0001 handling to callers.
d0dcce15 cmMakefile: Simplify computation of ancient policy status.
658bfc5c cmMakefile: Remove redundant condition from policy status computation.
f4a25874 cmMakefile: Inline internal policy status method.
3c45471c cmPolicies: Enable RVO for internal method.
71e69fc9 cmPolicies: Store only state that users can set.
84e18056 cmMakefile: Convert recursion to loop.
2015-07-27 09:31:18 -04:00
Stephen Kelly bbb507aebc cmMakefile: Move the InitializeFromParent method 2015-07-25 14:53:06 +02:00
Stephen Kelly 6ed9c7e024 cmState: Host buildsystem properties for directories. 2015-07-25 14:53:05 +02:00
Stephen Kelly 5447ca1a94 cmMakefile: Remove CMP0001 handling to callers. 2015-07-25 14:48:37 +02:00
Stephen Kelly d0dcce15f4 cmMakefile: Simplify computation of ancient policy status. 2015-07-25 14:48:37 +02:00
Stephen Kelly 658bfc5c52 cmMakefile: Remove redundant condition from policy status computation. 2015-07-25 14:48:36 +02:00
Stephen Kelly f4a25874a2 cmMakefile: Inline internal policy status method. 2015-07-25 14:48:36 +02:00
Stephen Kelly 3c45471c2d cmPolicies: Enable RVO for internal method. 2015-07-25 14:48:36 +02:00
Stephen Kelly 84e1805666 cmMakefile: Convert recursion to loop. 2015-07-25 14:48:36 +02:00
Ben Boeckel 594bafe527 cmake: add --trace-expand option
The --trace option is helpful, but sometimes, what you're looking for is
deep under many layers of function calls and figuring out what instance
of the function call you're looking at is tedious to determine (usually
involving patching and message()). Instead, add a --trace-expand option
to trace while expanding commands into what CMake actually sees.
2015-07-23 15:33:10 -04:00
Stephen Kelly 1e77de7411 cmMakefile: Don't clear buildsystem properties.
Instead put a sentinal empty entry in the container when a property
is overwritten.  Use this sentinal when reading from the containers.

Use iterator::operator+(size_type) directly instead of std::advance,
because this only really makes sense if using RandomAccessIterators.
2015-07-22 21:23:49 +02:00
Stephen Kelly 8d336875b3 cmMakefile: Use Ranges for buildsystem property access.
Don't return vector copies.
2015-07-22 20:25:48 +02:00
Stephen Kelly c7b39d06f9 cmMakefile: Split accessors for include directories and origins. 2015-07-22 20:25:47 +02:00
Stephen Kelly b2de25aded cmMakefile: Split accessors for compile options and origins. 2015-07-22 20:25:46 +02:00
Stephen Kelly d6239507b2 cmMakefile: Split accessors for compile definitions and origins. 2015-07-22 20:25:45 +02:00
Stephen Kelly ef17bbefd7 cmMakefile: Separate storage of buildsystem properties and their origins.
This simplifies some existing and upcoming algorithms.
2015-07-22 20:25:43 +02:00
Stephen Kelly a89c02ce3d cmMakefile: Out of line some API. 2015-07-22 20:06:23 +02:00
Stephen Kelly 8ea0b81d20 cmAlgorithms: Rename cmRange to cmMakeRange. 2015-07-22 10:58:19 -04:00
Brad King 5b2754d41f Merge topic 'remove-special-MACROS-handling'
41bb831f cmMakefile: Remove special handling of MACROS property.
2015-07-21 09:22:23 -04:00
Brad King e13c189743 Merge topic 'remove-special-LINK_DIRECTORIES-handling'
881613c4 cmMakefile: Remove special handling of LINK_DIRECTORIES property.
35734260 cmMakefile: Inline only use of GetLinkDirectories.
2015-07-21 09:22:21 -04:00
Brad King ae64efa1ce Merge topic 'cmState-Directory'
9ebc7502 cmState: Extract a Directory class.
27ec21db cmState: Forward-declare a type earlier.
2015-07-21 09:22:19 -04:00
Brad King 93b393e74c Merge topic 'remove-Properties-accessor'
c6055d9d cmMakefile: Remove GetProperties method.
cbe3ee58 cmMakefile: Add a PropertyKeys accessor.
2015-07-21 09:22:17 -04:00
Brad King 64aa41b248 Merge topic 'clean-up-include_regular_expression'
4efda261 cmMakefile: Remove special handling of INCLUDE_REGULAR_EXPRESSION.
2015-07-21 09:22:15 -04:00
Brad King ce597a022b Merge topic 'minor-cleanups'
cff2dc34 cmLocalUnixMakefileGenerator3: Port away from the Parent.
5505bff7 cmMakefile: Add include which we use.
2007d11c cmState: Remove unused variable.
a622b829 cmGetCMakePropertyCommand: Clean up VARIABLES handling.
52f22616 cmListFileBacktrace: Constify API.
fc1c7cf8 Genex: Store a backtrace, not a pointer to one.
4dc45707 cmMakefile: Fix indentation.
12c82fd8 cmMakefile: Remove dead code.
f19653eb CodeLite: Remove unused code.
2015-07-21 09:22:13 -04:00
Stephen Kelly 41bb831fc9 cmMakefile: Remove special handling of MACROS property. 2015-07-19 16:01:39 +02:00
Stephen Kelly 9ebc7502b2 cmState: Extract a Directory class.
Move Directory-scoped state accessors to it.  This will be expanded
with directory property state soon.
2015-07-18 19:37:58 +02:00
Stephen Kelly cbe3ee58ca cmMakefile: Add a PropertyKeys accessor. 2015-07-18 18:59:18 +02:00
Stephen Kelly 5505bff7ae cmMakefile: Add include which we use.
Don't rely on this through the cmLocalGenerator include.
2015-07-18 18:40:36 +02:00
Stephen Kelly 4efda261fe cmMakefile: Remove special handling of INCLUDE_REGULAR_EXPRESSION.
It costs an extra cmMakefile member and extra code to maintain in
directory property handling.  Remove documentation note that it
is read-only and specify high-level command to populate it.
2015-07-18 14:10:34 +02:00
Stephen Kelly 881613c4ab cmMakefile: Remove special handling of LINK_DIRECTORIES property.
There is no need to handle it in a special way.
2015-07-18 13:56:48 +02:00
Stephen Kelly 357342602d cmMakefile: Inline only use of GetLinkDirectories. 2015-07-18 13:45:43 +02:00
Stephen Kelly 640fc5b54a cmMakefile: Remove unused ListFileStack. 2015-07-18 13:27:19 +02:00
Stephen Kelly 54cc0c0e1f cmMakefile: Port some users of ListFileStack to cmState. 2015-07-18 13:26:06 +02:00
Stephen Kelly e77c46664c cmMakefile: Remove obsolete condition. 2015-07-18 13:22:51 +02:00
Stephen Kelly 8e7d303077 cmMakefile: Simplify setting of current snapshot. 2015-07-18 13:17:24 +02:00
Stephen Kelly 6083ec9a78 cmMakefile: Implement LISTFILE_STACK property in terms of cmState. 2015-07-18 13:12:07 +02:00