summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmMakefile: fix __CMAKE_RULE property settingBen Boeckel2014-07-141-1/+1
| | | | It got put into the condition by mistake.
* cmMakefile: Defer dependency calculationsBen Boeckel2014-07-081-7/+7
|
* cmMakefile: Avoid excess source filesBen Boeckel2014-07-081-23/+26
| | | | | When there are no commands, a main_dependency is not required and when there are also no dependencies, nothing is required.
* cmMakefile: Add a CreateSource methodBen Boeckel2014-07-081-13/+21
| | | | | The GetOrCreateSource searches the source file listing again, but some callers know that it already didn't exist.
* cmDefinitions: Don't store parent lookupsBen Boeckel2014-06-091-1/+1
| | | | | When looking up scopes, it is faster to not store the lookup locally to keep the maps smaller and avoid extra allocations and rebalancing.
* backtrace: Convert to local paths in IssueMessageBen Boeckel2014-06-051-13/+10
| | | | | This is the only place we care show the FilePath to the user, so defer the expensive relative path calculation until here.
* cmMakefile: return a backtraceBen Boeckel2014-06-051-21/+11
| | | | | This allows backtraces to be fully controlled by the makefile rather than externally (and makes changing how they are manipulated easier).
* Merge topic 'cxx14-features'Brad King2014-05-291-5/+28
|\ | | | | | | | | dd043c3f Features: Add support for C++14 features.
| * Features: Add support for C++14 features.Stephen Kelly2014-05-221-5/+28
| | | | | | | | Record the features implemented by GNU 4.9 and Clang 3.4.
* | Merge topic 'dev/CMP0053-variable_watch'Brad King2014-05-271-1/+7
|\ \ | | | | | | | | | | | | 9ba91463 tests: test CMP0053 in WARN mode when watching variables
| * | tests: test CMP0053 in WARN mode when watching variablesBen Boeckel2014-05-221-1/+7
| |/ | | | | | | | | | | | | 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.
* | Merge topic 'variable_watch-no-allowed-access'Brad King2014-05-271-12/+1
|\ \ | |/ |/| | | | | d8498003 variable_watch: Remove undocumented and redundant access type
| * variable_watch: Remove undocumented and redundant access typeBen Boeckel2014-05-221-12/+1
| | | | | | | | | | | | The ALLOWED_UNKNOWN_VARIABLE_READ_ACCESS access type was switched on an undocumented variable and its lookup caused an unnecessary performance impact. Remove it.
* | Features: Add COMPILE_FEATURES generator expression.Stephen Kelly2014-05-211-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | cmMakefile: Add methods for checking availability of a feature.Stephen Kelly2014-05-201-0/+112
| |
* | cmMakefile: Extract CheckNeeded{C,Cxx}Language methods.Stephen Kelly2014-05-201-12/+29
| |
* | cmMakefile: Extract CompileFeaturesAvailable method.Stephen Kelly2014-05-201-26/+38
| |
* | cmMakefile: Extract CompileFeatureKnown method.Stephen Kelly2014-05-201-29/+49
| |
* | Features: Extend concept to C language.Stephen Kelly2014-05-141-2/+114
|/ | | | | | | | | | | 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.
* Makefile: Undef FEATURE_STRING iteration define after use.Stephen Kelly2014-05-101-0/+1
|
* EVIS: Reimplement using custom parsing codeBen Boeckel2014-05-081-16/+445
| | | | | | | | | | | | | | | | | | | | | | 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.
* Merge topic 'minor-cleanups'Brad King2014-05-081-2/+2
|\ | | | | | | | | | | | | 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.
| * Features: Include the language of the compiler in error messages.Stephen Kelly2014-05-071-2/+2
| |
* | Merge topic 'dev/regex-variables'Brad King2014-05-071-0/+49
|\ \ | | | | | | | | | | | | | | | | | | 3f517522 StoreMatches: Minor cleanups ef62fbad ClearMatches: Store match variable names statically f718b30a ClearMatches: Only clear matches which were actually set
| * | StoreMatches: Minor cleanupsBen Boeckel2014-04-291-3/+3
| | |
| * | ClearMatches: Store match variable names staticallyBen Boeckel2014-04-291-11/+20
| | | | | | | | | | | | | | | Constructing the names and then turning them into a std::string is non-negligible in performance testing.
| * | ClearMatches: Only clear matches which were actually setBen Boeckel2014-04-291-0/+40
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge topic 'dev/hashmap-for-targets'Brad King2014-05-071-3/+2
|\ \ \ | |_|/ |/| | | | | | | | | | | 325599ca cmGlobalGenerator: Store targets in hash maps ac4106c6 cmMakefile: Use a hashmap for imported targets
| * | cmMakefile: Use a hashmap for imported targetsBen Boeckel2014-05-071-3/+2
| |/
* | Features: Make CMAKE_CXX_KNOWN_FEATURES a property.Stephen Kelly2014-05-021-54/+0
| | | | | | | | | | As a 'built-in' variable it imposes a cost on all variable lookups and it is expected to be rarely used.
* | Merge topic 'cxx98-features'Brad King2014-04-301-0/+21
|\ \ | |/ |/| | | | | a36b957f Features: Add cxx_template_template_parameters.
| * Features: Add cxx_template_template_parameters.Stephen Kelly2014-04-161-0/+21
| | | | | | | | | | Extend the existing feature infrastructure as needed to support both C++11 and C++98 features.
* | Features: FATAL_ERROR on compilers with no recorded features.Stephen Kelly2014-04-171-2/+22
|/ | | | | | 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.
* Features: Add cxx_defaulted_move_initializers.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_long_long_type.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_func_identifier.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_local_type_template_args.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_extended_friend_declarations.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_enum_forward_declarations.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_default_function_template_args.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_right_angle_brackets.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_decltype_incomplete_return_types.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_sizeof_member.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_thread_local.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_inline_namespaces.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_variadic_macros.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_uniform_initialization.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_generalized_initializers.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_attributes.Stephen Kelly2014-04-081-0/+1
|
* Features: Add cxx_alignof.Stephen Kelly2014-04-081-0/+1
|