Stephen Kelly
496f4cd07d
cmGlobalGenerator: Create cmGeneratorTargets before QtAutomoc.
...
Add cmGeneratorTargets as needed in the QtAutomoc processing.
2015-07-27 21:58:49 +02: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
6ed9c7e024
cmState: Host buildsystem properties for directories.
2015-07-25 14:53:05 +02:00
Stephen Kelly
f4a25874a2
cmMakefile: Inline internal policy status method.
2015-07-25 14:48:36 +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
b19587e7d7
cmMakefile: Remove some references from APIs.
2015-07-22 20:06:22 +02: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
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
Stephen Kelly
41bb831fc9
cmMakefile: Remove special handling of MACROS property.
2015-07-19 16:01:39 +02:00
Stephen Kelly
c6055d9d4c
cmMakefile: Remove GetProperties method.
...
The storage details of properties do not belong in the API.
2015-07-18 18:59:41 +02:00
Stephen Kelly
cbe3ee58ca
cmMakefile: Add a PropertyKeys accessor.
2015-07-18 18:59:18 +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
d2475bb5c4
cmListFileBacktrace: Implement in terms of cmState::Snapshot.
...
Avoid copying many strings into each backtrace object.
2015-07-06 11:22:42 -04:00
Stephen Kelly
238aac2351
cmListFile: Remove FilePath member from cmListFileContext.
...
There is no need to store the FilePath for every function, as it is
known by other means.
2015-07-06 11:22:41 -04:00
Stephen Kelly
821f91d6ab
cmMakefile: Create a scoped context for parsing listfiles.
...
Update the Syntax tests to check for updated/improved backtraces.
2015-07-06 11:22:41 -04:00
Stephen Kelly
6361f68056
cmState: Store execution context.
...
Extend snapshot creation API to store the file being executed and the
entry point to get to that context.
2015-07-06 01:37:15 +02:00
Stephen Kelly
dbafb01580
cmMakefile: Split CallStack into two pieces.
2015-07-04 11:51:27 +02:00
Stephen Kelly
f346d88d10
cmMakefile: Avoid invoking EnforceDirectoryLevelRules.
...
This is part of the CMP0000 implementation and only needs to be invoked
for top-level buildsystem files currently.
2015-06-30 23:14:20 +02:00
Stephen Kelly
0818737c85
cmMakefile: Make listfile scopes responsible for logical checks.
...
Remove the LexicalPushPop.
2015-06-30 23:14:18 +02:00
Stephen Kelly
92cecd9369
cmMakefile: Add automatic scopes to listfile readers.
2015-06-30 23:14:18 +02: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
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
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
Stephen Kelly
8bfaadfa39
cmMakefile: Move IsRoot API from cmLocalGenerator.
2015-06-21 21:14:05 +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
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
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
27f229b970
cmMakefile: Move include scope out of ReadListFileInternal.
...
Simplify the ReadListFileInternal API.
2015-06-21 20:10:48 +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
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
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
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
Stephen Kelly
4c192fb531
cmMakefile: Remove cacheOnly option from GetDefinitions.
...
It is now unused.
2015-06-07 15:21:56 +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