| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
It got put into the condition by mistake.
|
| |
|
|
|
|
|
| |
When there are no commands, a main_dependency is not required and when
there are also no dependencies, nothing is required.
|
|
|
|
|
| |
The GetOrCreateSource searches the source file listing again, but some
callers know that it already didn't exist.
|
|
|
|
|
| |
When looking up scopes, it is faster to not store the lookup locally to
keep the maps smaller and avoid extra allocations and rebalancing.
|
|
|
|
|
| |
This is the only place we care show the FilePath to the user, so defer
the expensive relative path calculation until here.
|
|
|
|
|
| |
This allows backtraces to be fully controlled by the makefile rather
than externally (and makes changing how they are manipulated easier).
|
|\
| |
| |
| |
| | |
dd043c3f Features: Add support for C++14 features.
|
| |
| |
| |
| | |
Record the features implemented by GNU 4.9 and Clang 3.4.
|
|\ \
| | |
| | |
| | |
| | | |
9ba91463 tests: test CMP0053 in WARN mode when watching variables
|
| |/
| |
| |
| |
| |
| |
| | |
When CMP0053 is in WARN mode, variables get expanded twice, leaking the
fact that the string was expanded twice and changing behavior. Instead,
suppress variable watches when running the expansion to trigger the
CMP0053 warning.
|
|\ \
| |/
|/|
| |
| | |
d8498003 variable_watch: Remove undocumented and redundant access type
|
| |
| |
| |
| |
| |
| | |
The ALLOWED_UNKNOWN_VARIABLE_READ_ACCESS access type was switched on an
undocumented variable and its lookup caused an unnecessary performance
impact. Remove it.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow setting build properties based on the features available
for a target. The availability of features is determined at
generate-time by evaluating the link implementation.
Ensure that the <LANG>_STANDARD determined while evaluating
COMPILE_FEATURES in the link implementation is not lower than that
provided by the INTERFACE of the link implementation. This is
similar to handling of transitive properties such as
POSITION_INDEPENDENT_CODE.
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
| |
Add properties and variables corresponding to CXX equivalents.
Add features for c_function_prototypes (C90), c_restrict (C99),
c_variadic_macros (C99) and c_static_assert (C11). This feature
set can be extended later.
Add a <PREFIX>_RESTRICT symbol define to WriteCompilerDetectionHeader
to conditionally represent the c_restrict feature.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a new implementation of ExpandVariablesInString and select
between the old and new implementations based on policy CMP0053.
Instead of cmCommandArgumentParserHelper, use a custom parser with our
own stack. This is much faster and works well for our simple grammar.
The new behavior of CMP0053 should expand @VAR@ syntax only in certain
contexts. All existing EVIS callers use "replaceAt == true" so
hard-code our call to the old implementation. Update the signature to
default to "replaceAt == false" and pass "replaceAt == true" explicitly
in the call sites for configure_file and string(CONFIGURE).
Testing the configure (no generate) step with ParaView shows ~20%
performance improvement.
In terms of complete configure/generate steps, further testing with
ParaView shows a 20% performance improvement over 2.8.12.2 with Unix
Makefiles and minimal with Ninja. Ninja is less because it generate step
is the expensive part (future work will address this) by a long shot and
these changes help the configure step for the most part.
|
|\
| |
| |
| |
| |
| |
| | |
47795421 Fix whitespace in docs.
aa283b6b Features: Fix test for GNU 4.8.1.
bbfd4cd4 Features: Include the language of the compiler in error messages.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
3f517522 StoreMatches: Minor cleanups
ef62fbad ClearMatches: Store match variable names statically
f718b30a ClearMatches: Only clear matches which were actually set
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Constructing the names and then turning them into a std::string is
non-negligible in performance testing.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
ClearMatches was clearing many variables which were never set in the
first place. Instead, store how many matches were made last time and
only clear those. It is moved to the cmMakefile class since it is a
common utility used by multiple commands.
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | | |
325599ca cmGlobalGenerator: Store targets in hash maps
ac4106c6 cmMakefile: Use a hashmap for imported targets
|
| |/ |
|
| |
| |
| |
| |
| | |
As a 'built-in' variable it imposes a cost on all variable lookups
and it is expected to be rarely used.
|
|\ \
| |/
|/|
| |
| | |
a36b957f Features: Add cxx_template_template_parameters.
|
| |
| |
| |
| |
| | |
Extend the existing feature infrastructure as needed to support
both C++11 and C++98 features.
|
|/
|
|
|
|
| |
Users of the new target_compile_features command are expected to
check the existence of the CMAKE_CXX_COMPILE_FEATURES variable before
attempting to use it to require features.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|