| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
Presumably the intention here is to attempt to optimize memory by not
storing what is not needed. However, all keys need to be tracked
anyway to implement initialization tracking, and this special case
gets in the way of simplifying the implementation of that.
This doesn't change any observable effects because values set
to 0 are considered not to exist by the cmDefinitions API.
|
|
|
|
|
| |
The Get method implicitly pulls a copy of all variables into a local scope. This
is not necessary.
|
| |
|
| |
|
|
|
|
| |
This container is never empty.
|
| |
|
|
|
|
| |
They don't print things that are important in the modern implementation.
|
| |
|
| |
|
|
|
|
|
| |
As this is called in the constructor, the definition will never be already
set.
|
|
|
|
| |
Allow the name to be used for something more-suitable.
|
|
|
|
|
| |
Make the existing method a private overload. All external callers
invoke the method with only one argument.
|
|
|
|
|
| |
It is never read externally. The CollapseFullPath removed in this commit
is a repeat of a similar call inside ReadListFile.
|
|
|
|
| |
There is no need to store this as a member variable.
|
|\
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
The InitializeAutogenTarget creates new targets and adds them to the
Targets container on the makefile. In this method, we have a reference
to that container and we are iterating over it. That happens to work
with hash_map, but it fails with undefined behavior when using the
std::unordered_map from libstdc++-4.9 (and likely others).
|
|\ \
| | |
| | |
| | |
| | | |
a390de65 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.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
The methods just called store the paths in already-converted form.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Remove this responsibility from cmLocalGenerator.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
There is no need to duplicate these in all cmLocalGenerators.
Rename the symbols according to current conventions.
Add explicit calls to Set{Source,Binary}Directory with empty strings
in order to trigger the population of the components containers with
the current working directory in cmLocalGenerator. Having
directories set to empty is a special case in CMake, which is relied
on for the `if(CMAKE_BINARY_DIR)` condition at the end of
CMakeDetermineSystem.cmake.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This method is only called if there is a mismatch and something to
print. Remove intermediate container.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We always have line information for contexts resulting from
command execution.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Only the top level execution context is shown, as appropriate, so
store only that.
|
| | | | |
| | | | |
| | | | |
| | | | | |
This is not a loop.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Move wrapping existing code from cmMakefile, and simplify the
implementation there.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is cheaper than getting the whole backtrace, and the cmListFileBacktrace
will not always be composed of cmListFileContext objects.
|
| | | | | |
|
| | |/ /
| |/| | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
dad8b03f VS: Remove obsolete methods.
e435f875 VS: Move version information to global generator.
b5f093f0 VS: Simplify setting of flag table.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Base class implementations for these are identical.
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The cmGlobalMakefileGenerator3 has an identical implementation.
|
| | | | | | |
|
| | | | | | |
|