| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
The chaining logic doesn't belong to the container, and the
CMakeInstance pointer doesn't need to be in cmPropertyMap.
Size goes from 56 to 48 bytes with GNU libstdc++-5.1.
|
| |
|
|
|
|
|
| |
Provide a parent instead of requiring it to be computed through
the cmLocalGenerator.
|
| |
|
|
|
|
| |
Make it possible to group the various methods here a different way.
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7657e8b1 cmMakefile: Introduce a local cmMakefile variable.
4e8f242d cmMakefile: Store unconfigured cmMakefiles.
d65e0123 cmMakefile: Implement ConfigureSubDirectory in terms of cmMakefile.
f059ed16 cmMakefile: Move Configure responsibility from cmLocalGenerator.
a653611d cmake: Replace CurrentLocalGenerator concept with CurrentMakefile.
69a038a9 cmMakefile: Refactor directories specified with the subdirs command.
08637970 cmLocalGenerator: ComputeObjectMaxPath just before generating.
27e11c6f Merge Configure state with GeneratingBuildSystem state.
363caa2f cmLocalGenerator: De-virtualize Configure().
|
| | |
|
| |
| |
| |
| | |
Not cmLocalGenerators.
|
| | |
|
| |
| |
| |
| | |
The generator should only have a function at generate time.
|
| |
| |
| |
| | |
Store the directories on the cmMakefile as explicitly not-configured-yet.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
cf1233a0 cmState: Rename GetParent method.
942df88b cmState: Rename CreateSnapshot method.
da28f115 cmState: Add CreateBaseSnapshot method.
|
| | |
| | |
| | |
| | | |
Leave the namespace open for other Parent types.
|
| |/
| |
| |
| | |
Leave the namespace open for other snapshot types.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
eb7b6f6d cmVariableWatchCommand: Simplify error reporting.
499ebb65 cmListFileBacktrace: Internalize the step of making paths relative.
80b433b0 cmGlobalGenerator: Don't use else after a return.
52919ac8 cmMakefile: Make cmListFileBacktrace default constructible.
b68f2ea8 cmMakefile: Add API for elseif to create backtrace.
17e13f0a cmMakefile: Simplify CMP0000 handling.
|
| | | |
|
| |/ |
|
|/
|
|
|
|
|
|
|
| |
Compute deterministic GUIDs that are unique to the build tree by
hashing the path to the build tree with the GUID logical name.
Avoid storing them in the cache, but honor any found there.
This will allow project GUIDs to be reproduced in a fresh build
tree so long as its path is the same as the original, which may
be useful for incremental builds.
|
|\
| |
| |
| |
| |
| |
| |
| | |
3b880a07 cmLocalGenerator: Require a valid cmState::Snapshot in the ctor.
e12afe76 cmState: Host some state from the cmGlobalGenerator.
c7b79aa1 cmGlobalGenerator: Require a cmake instance in ctor.
01e1cd5c cmState: Move snapshot creation to the cmake instance.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Refactor the local generator creation API to accept a
cmState::Snapshot. Adjust MakeLocalGenerator to use the 'current'
snapshot in cases where there is no parent. Create the snapshot
for subdirectories in cmMakefile::AddSubdirectory.
This means that snapshots are now created at the point of extending the tree,
as appropriate, and independently of the cmLocalGenerator and cmMakefile they
represent the state for.
|
| |
| |
| |
| | |
Simplify the IssueMessage implementation.
|
|/
|
|
| |
The CallStack is checked above.
|
|
|
|
| |
Port appropriate clients to use it.
|
|\
| |
| |
| |
| | |
6fbd4cae Use cmSystemTools::GetCMakeCommand() to get path to cmake internally
|
| |
| |
| |
| |
| | |
This is much simpler than finding a way to lookup "CMAKE_COMMAND"
everywhere.
|
| |
| |
| |
| |
| |
| | |
Store usage information in the cmDefintions value instead. We already
pay for the memory as padding in the Def struct, so we might as well
use it.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In cmMakefile::PushScope, a copy of the closure of keys initialized
in the parent scope is made. In PopScope, essentially the same copy
is inserted back into the parent. That means a lot of duplication
of strings and a lot of string comparisons. None of it is needed,
because the cmDefinitions keys already provide a canonical
representation of what is initialized.
The removal of the separate container also makes the variable handling
code more easy to reason about in general.
Before this patch, configuring llvm uses 200 KiB for the VarInitStack.
Overall peak memory consumption goes from 35.5 MiB to 35.1 MiB.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
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.
|