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
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
329098a9a0
cmMakefile: Set the FilePath on the frame from the cmState.
...
To verify unit tests pass and for future bisecting.
2015-07-06 11:22:41 -04:00
Stephen Kelly
91158a3369
cmMakefile: Create intermediate variables for snapshot frames.
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
30d44efaf8
cmMakefile: Access the execution list file from the cmState.
2015-07-06 01:37:17 +02: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
a8e5446024
cmState: Store snapshots for more different types.
...
Adjust cmMakefile implementation to create the snapshots.
2015-07-04 11:51:27 +02:00
Stephen Kelly
dbafb01580
cmMakefile: Split CallStack into two pieces.
2015-07-04 11:51:27 +02:00
Stephen Kelly
48c6a92b28
cmMakefile: Merge two Scope types and instances.
2015-06-30 23:14:22 +02:00
Stephen Kelly
e28e110d22
cmMakefile: Rename a variable.
2015-06-30 23:14:22 +02:00
Stephen Kelly
3f5200ec5f
cmMakefile: Expand the scope of scoped buildsystem file state.
2015-06-30 23:14:21 +02:00
Stephen Kelly
0a34ea597a
cmMakefile: Compute the filename processed in a scope.
2015-06-30 23:14:21 +02:00
Stephen Kelly
be5997ef77
cmMakefile: Inline ProcessBuildsystemFile into only caller.
2015-06-30 23:14:21 +02:00
Stephen Kelly
5bf9bfda3f
cmMakefile: Don't use string comparison to check directory level.
2015-06-30 23:14:20 +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
b661403177
cmMakefile: Add filename to ReadListFile auto scopes.
2015-06-30 23:14:19 +02:00
Stephen Kelly
6708d21664
cmMakefile: Remove IncludeScope Quiet call.
2015-06-30 23:14:19 +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
dd7e42758d
cmMakefile: Move the lexical scope.
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
Stephen Kelly
276c62253e
cmMakefile: Move the IncludeScope to where it is used.
2015-06-30 23:14:17 +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
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
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
cfae7fa408
cmMakefile: Use cmOutputConverter instead of cmLocalGenerator.
2015-06-21 20:17:18 +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