Stephen Kelly
c42f0e2b3e
cmMakefile: Remove redundant conditions.
...
This container is never empty.
2015-05-19 22:36:51 +02:00
Stephen Kelly
caff8e5a3e
cmCTest: Remove unimplemented method.
2015-05-19 22:36:51 +02:00
Stephen Kelly
bb1e8c3adf
cmMakefile: Remove Print() debugging facilities.
...
They don't print things that are important in the modern implementation.
2015-05-19 22:36:50 +02:00
Stephen Kelly
1363bff83a
cmMakefile: Remove duplicate variable initialization.
2015-05-19 22:36:50 +02:00
Stephen Kelly
5b7ff35c4d
cmMakefile: Don't expect the VarStack iterator to support size().
2015-05-19 22:36:50 +02:00
Stephen Kelly
390bc3244f
cmMakefile: Remove redundant condition.
...
As this is called in the constructor, the definition will never be already
set.
2015-05-19 22:36:49 +02:00
Stephen Kelly
8ab1cce704
cmMakefile: Rename method to something more appropriate.
...
Allow the name to be used for something more-suitable.
2015-05-19 22:36:49 +02:00
Stephen Kelly
2dd5d42f52
cmMakefile: Make the public ReadListFile method take one param.
...
Make the existing method a private overload. All external callers
invoke the method with only one argument.
2015-05-19 22:36:49 +02:00
Stephen Kelly
f3e6a336f2
cmMakefile: Remove CurrentListFile member.
...
It is never read externally. The CollapseFullPath removed in this commit
is a repeat of a similar call inside ReadListFile.
2015-05-19 22:36:48 +02:00
Stephen Kelly
6b9e647239
cmMakefile: Port CurrentListFile clients to GetDefinition.
...
There is no need to store this as a member variable.
2015-05-19 22:36:48 +02:00
Brad King
594dd9b36a
Merge topic 'use-std-unordered_map'
...
d7923b82
Use std::unordered_map instead of hash_map where available.
820777af
Tests: Don't rely on ordering of targets in maps.
921d74d8
AutoGen: Don't iterate over a container while populating it.
2015-05-19 11:30:21 -04:00
Brad King
25d22be514
Merge topic 'ninja-per-target-rules'
...
a390de65
Ninja: Generate separate compile and link rules for each target
2015-05-19 11:09:44 -04:00
Brad King
be248ab435
Merge topic 'refactor-cmLocalGenerator'
...
fa9eb814
cmLocalGenerator: Remove redundant path access.
1933f3d1
cmLocalGenerator: Remove redundant path conversions.
9e4b6cc2
cmState: Store computed relative paths to to current directories.
991f5e49
cmState::Snapshot: Store components for current directories.
57bdc1a2
cmState: Compute and store directory components.
2015-05-19 11:09:39 -04:00
Brad King
0cbc69b9ea
Merge topic 'minor-cleanups'
...
61d52e6e
cmListFileBacktrace: Hide the context-stack implementation detail.
a271f7f1
cmTarget: Simplify CMP0023 message loop.
f4300cd4
cmTarget: Simplify output computation.
65a42849
cmTarget: Store context in stack only if different.
9645cba3
cmListFileContext: Implement EqualityComparable.
52a8d19c
cmTarget: Store only cmListFileContext for CMP0023 handling.
59ba1215
cmTarget: Remove needless iteration.
18f810a8
cmListFileContext: Sort by line before file.
e96b5d14
cmListFileContext: Implement LessThanComparable.
7eb0dfa0
cmMakefile: Use std::set::insert API to simplify CMP0054 handling.
f9785e0c
cmMakefile: Simplify CMP0054 handling.
e17b5e42
cmMakefile: Add access to the top-level execution context.
1ec1bf9f
if(): Test the effect of cmMakefileCall use in elseif() handling.
9b4aefad
cmMakefile: Replace deques with vectors.
2015-05-19 11:09:36 -04:00
Brad King
56dc91c3ad
Merge topic 'clean-up-vs-generators'
...
dad8b03f
VS: Remove obsolete methods.
e435f875
VS: Move version information to global generator.
b5f093f0
VS: Simplify setting of flag table.
2015-05-19 11:09:34 -04:00
Brad King
93acb504c0
Merge topic 'clean-up-makefile-generators'
...
036372c4
Remove obsolete overrides of CreateLocalGenerator.
684e5cef
cmGlobalGenerator: Host the MakeSilentFlag.
2047144f
cmLocalGenerator: Remove unused IgnoreLibPrefix.
333c1fa8
cmGlobalUnixMakefileGenerator3: Host the UnixCD.
a97df5e1
cmGlobalUnixMakefileGenerator3: Host the PassMakeflags.
14f171c3
Remove method calls just repeating the default.
cf7f03e5
cmGlobalUnixMakefileGenerator3: Host the DefineWindowsNULL.
e9b134b9
cmGlobalUnixMakefileGenerator3: Host the include directive.
24613d8b
cmLocalGenerator: Remove unused method.
b659d161
cmGlobalGenerator: Add NVI wrapper to create local generator.
2015-05-19 11:09:31 -04:00
Brad King
2d1d8af9b1
Merge topic 'clean-up-cmDefinitions'
...
f170985e
cmDefinitions: Make the ClosureKeys method static.
98c5c903
cmDefinitions: Centralize knowledge of iterator type.
7872201b
cmDefinitions: Remove internal MakeClosure method.
2015-05-19 11:09:28 -04:00
Brad King
43aa5c6ca1
Merge topic 'clean-up-cmExecutionStatus'
...
2a44acb9
cmExecutionStatus: Remove inheritance of cmObject.
c8c34169
cmExecutionStatus: De-virtualize API.
2015-05-19 11:09:24 -04:00
Brad King
aa68f2e4c9
Merge topic 'fix-function-missing-endforeach'
...
3a656065
Fix assertion failure on unmatched foreach in function (#15572 )
2015-05-19 11:09:21 -04:00
Stephen Kelly
dad8b03fbe
VS: Remove obsolete methods.
...
Base class implementations for these are identical.
2015-05-19 11:02:34 -04:00
Stephen Kelly
e435f875ec
VS: Move version information to global generator.
2015-05-19 11:02:33 -04:00
Stephen Kelly
b5f093f096
VS: Simplify setting of flag table.
2015-05-19 11:02:33 -04:00
Kitware Robot
f3946ba547
CMake Nightly Date Stamp
2015-05-19 00:01:07 -04:00
Stephen Kelly
d7923b82ad
Use std::unordered_map instead of hash_map where available.
2015-05-19 00:07:02 +02:00
Stephen Kelly
61d52e6e77
cmListFileBacktrace: Hide the context-stack implementation detail.
...
The backtrace will soon not be implemented in terms of a stack of
cmListFileContext objects. Keep the cmListFileContext in the API
for convenience for now.
2015-05-18 23:56:00 +02:00
Stephen Kelly
a271f7f177
cmTarget: Simplify CMP0023 message loop.
...
This method is only called if there is a mismatch and something to
print. Remove intermediate container.
2015-05-18 23:55:44 +02:00
Stephen Kelly
f4300cd4dd
cmTarget: Simplify output computation.
...
We always have line information for contexts resulting from
command execution.
2015-05-18 23:55:44 +02:00
Stephen Kelly
65a4284963
cmTarget: Store context in stack only if different.
...
The PushTLLCommandTrace method is called once per link item for a single
target_link_libraries command. Avoid storing copies of identical
execution contexts and rely on the uniqueness while printing output.
2015-05-18 23:55:44 +02:00
Stephen Kelly
9645cba3bf
cmListFileContext: Implement EqualityComparable.
2015-05-18 23:55:44 +02:00
Stephen Kelly
52a8d19c9b
cmTarget: Store only cmListFileContext for CMP0023 handling.
...
Only the top level execution context is shown, as appropriate, so
store only that.
2015-05-18 23:55:43 +02:00
Stephen Kelly
59ba1215b9
cmTarget: Remove needless iteration.
...
This is not a loop.
2015-05-18 23:55:43 +02:00
Stephen Kelly
18f810a865
cmListFileContext: Sort by line before file.
...
This should be much faster. In the context where it is used the
line comparison should be sufficient, removing the need to compare
files at all.
2015-05-18 23:55:43 +02:00
Stephen Kelly
e96b5d14f9
cmListFileContext: Implement LessThanComparable.
...
Move wrapping existing code from cmMakefile, and simplify the
implementation there.
2015-05-18 23:55:43 +02:00
Stephen Kelly
7eb0dfa062
cmMakefile: Use std::set::insert API to simplify CMP0054 handling.
2015-05-18 23:55:43 +02:00
Stephen Kelly
f9785e0cb6
cmMakefile: Simplify CMP0054 handling.
2015-05-18 23:55:43 +02:00
Stephen Kelly
e17b5e4262
cmMakefile: Add access to the top-level execution context.
...
This is cheaper than getting the whole backtrace, and the cmListFileBacktrace
will not always be composed of cmListFileContext objects.
2015-05-18 23:55:41 +02:00
Stephen Kelly
9b4aefad41
cmMakefile: Replace deques with vectors.
2015-05-18 21:25:48 +02:00
Brad King
a390de65e0
Ninja: Generate separate compile and link rules for each target
...
Our <LANG>_COMPILER and <LANG>_<TARGET_TYPE>_LINKER rule generation has
access to a specific cmTarget so the results may depend on it. Instead
generate separate rules for each target using an encoded target name.
In particular, this makes CTEST_USE_LAUNCHERS report proper target
information.
2015-05-18 15:01:06 -04:00
Stephen Kelly
036372c4cd
Remove obsolete overrides of CreateLocalGenerator.
...
The cmGlobalMakefileGenerator3 has an identical implementation.
2015-05-18 20:06:20 +02:00
Stephen Kelly
684e5cefb2
cmGlobalGenerator: Host the MakeSilentFlag.
2015-05-18 20:06:20 +02:00
Stephen Kelly
2047144f49
cmLocalGenerator: Remove unused IgnoreLibPrefix.
2015-05-18 20:06:20 +02:00
Stephen Kelly
333c1fa83b
cmGlobalUnixMakefileGenerator3: Host the UnixCD.
2015-05-18 20:06:16 +02:00
Stephen Kelly
a97df5e135
cmGlobalUnixMakefileGenerator3: Host the PassMakeflags.
2015-05-18 20:03:49 +02:00
Stephen Kelly
14f171c3ba
Remove method calls just repeating the default.
2015-05-18 20:02:31 +02:00
Brad King
3a65606591
Fix assertion failure on unmatched foreach in function ( #15572 )
...
The lexical scope counting added by commit v3.2.0-rc1~332^2~1 (Track
nested loop levels in CMake language with a stack of counters,
2014-11-18) forgot to account for scopes popped by error messages about
unclosed scopes. Teach the error handler to pop the lexical scope it
reports as unclosed. Re-order the lexical scope RAII object to be
inside the variable scope RAII object scope so that the lexical scope
is fully closed before we check assertions about variable scopes.
Extend the RunCMake.Syntax test with a case covering this.
2015-05-18 11:13:05 -04:00
Brad King
00ccfff2bc
Merge topic 'cpack-ifw-updates'
...
342d15cb
Update packaging of CMake for QtIFW 2.0
9a0ba4d2
CPackIFW: Add QtIFW 2.0 support
2015-05-18 09:56:17 -04:00
Kitware Robot
09a3d21d71
CMake Nightly Date Stamp
2015-05-18 00:01:06 -04:00
Stephen Kelly
f170985e7a
cmDefinitions: Make the ClosureKeys method static.
...
For consistency with all other closure-related methods.
2015-05-17 16:50:18 +02:00
Stephen Kelly
98c5c90361
cmDefinitions: Centralize knowledge of iterator type.
...
Currently we process a list of definitions, but that will change.
2015-05-17 16:50:18 +02:00
Stephen Kelly
7872201bf6
cmDefinitions: Remove internal MakeClosure method.
...
There is no need to have a separate method, or to pass an external
set to it.
2015-05-17 16:50:18 +02:00