Stephen Kelly
bc9a8bba46
Makefile: Undef FEATURE_STRING iteration define after use.
2014-05-10 13:12:14 +02:00
Ben Boeckel
bc38565863
EVIS: Reimplement using custom parsing code
...
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.
2014-05-08 13:24:49 -04:00
Brad King
3e206022ab
Merge topic 'minor-cleanups'
...
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.
2014-05-08 11:27:57 -04:00
Brad King
1cc1efc063
Merge topic 'dev/regex-variables'
...
3f517522
StoreMatches: Minor cleanups
ef62fbad
ClearMatches: Store match variable names statically
f718b30a
ClearMatches: Only clear matches which were actually set
2014-05-07 15:59:47 -04:00
Brad King
45f338e3d9
Merge topic 'dev/hashmap-for-targets'
...
325599ca
cmGlobalGenerator: Store targets in hash maps
ac4106c6
cmMakefile: Use a hashmap for imported targets
2014-05-07 15:59:46 -04:00
Ben Boeckel
ac4106c69a
cmMakefile: Use a hashmap for imported targets
2014-05-07 15:48:32 -04:00
Stephen Kelly
bbfd4cd48f
Features: Include the language of the compiler in error messages.
2014-05-07 12:36:22 +02:00
Stephen Kelly
3fdfa5d3fc
Features: Make CMAKE_CXX_KNOWN_FEATURES a property.
...
As a 'built-in' variable it imposes a cost on all variable lookups
and it is expected to be rarely used.
2014-05-02 10:18:16 +02:00
Brad King
8535d4cf5d
Merge topic 'cxx98-features'
...
a36b957f
Features: Add cxx_template_template_parameters.
2014-04-30 09:42:00 -04:00
Ben Boeckel
3f51752264
StoreMatches: Minor cleanups
2014-04-29 16:00:06 -04:00
Ben Boeckel
ef62fbad55
ClearMatches: Store match variable names statically
...
Constructing the names and then turning them into a std::string is
non-negligible in performance testing.
2014-04-29 16:00:05 -04:00
Ben Boeckel
f718b30a95
ClearMatches: Only clear matches which were actually set
...
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.
2014-04-29 16:00:05 -04:00
Stephen Kelly
8d0b1ccac1
Features: FATAL_ERROR on compilers with no recorded 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.
2014-04-17 16:20:50 +02:00
Stephen Kelly
a36b957fc4
Features: Add cxx_template_template_parameters.
...
Extend the existing feature infrastructure as needed to support
both C++11 and C++98 features.
2014-04-16 15:16:23 +02:00
Stephen Kelly
60c0d2dd81
Features: Add cxx_defaulted_move_initializers.
2014-04-08 11:05:58 +02:00
Stephen Kelly
c4e672358c
Features: Add cxx_long_long_type.
2014-04-08 11:05:58 +02:00
Stephen Kelly
dcaafada0e
Features: Add cxx_func_identifier.
2014-04-08 11:05:57 +02:00
Stephen Kelly
251a1f02a0
Features: Add cxx_local_type_template_args.
2014-04-08 11:05:57 +02:00
Stephen Kelly
53fe7773e6
Features: Add cxx_extended_friend_declarations.
2014-04-08 11:05:57 +02:00
Stephen Kelly
16603f7cdb
Features: Add cxx_enum_forward_declarations.
2014-04-08 11:05:57 +02:00
Stephen Kelly
adf22f611e
Features: Add cxx_default_function_template_args.
2014-04-08 11:05:57 +02:00
Stephen Kelly
7b3e8a0534
Features: Add cxx_right_angle_brackets.
2014-04-08 11:05:57 +02:00
Stephen Kelly
9a49fd21be
Features: Add cxx_decltype_incomplete_return_types.
2014-04-08 11:05:57 +02:00
Stephen Kelly
1889045ca6
Features: Add cxx_sizeof_member.
2014-04-08 11:05:57 +02:00
Stephen Kelly
ab455ebafd
Features: Add cxx_thread_local.
2014-04-08 11:05:57 +02:00
Stephen Kelly
300ce2481e
Features: Add cxx_inline_namespaces.
2014-04-08 11:05:57 +02:00
Stephen Kelly
f9d04a96b5
Features: Add cxx_variadic_macros.
2014-04-08 11:05:57 +02:00
Stephen Kelly
3d76656fb3
Features: Add cxx_uniform_initialization.
2014-04-08 11:05:56 +02:00
Stephen Kelly
e74b216c90
Features: Add cxx_generalized_initializers.
2014-04-08 11:05:56 +02:00
Stephen Kelly
ff80c3b420
Features: Add cxx_attributes.
2014-04-08 11:05:56 +02:00
Stephen Kelly
7605fee593
Features: Add cxx_alignof.
2014-04-08 11:05:56 +02:00
Stephen Kelly
e7d6e1f44f
Features: Add cxx_alignas.
...
cxx_alignof will be a separate feature known to CMake, because
both can be implemented with separate backward compatibility
versions.
2014-04-08 11:05:56 +02:00
Stephen Kelly
32c2acd65c
Features: Add cxx_extern_templates.
2014-04-08 11:05:56 +02:00
Stephen Kelly
9064f78b0c
Features: Add cxx_unrestricted_unions.
2014-04-08 11:05:56 +02:00
Stephen Kelly
3322b393a2
Features: Add cxx_unicode_literals.
2014-04-08 11:05:56 +02:00
Stephen Kelly
04c5b99f38
Features: Add cxx_user_literals.
2014-04-08 11:05:56 +02:00
Stephen Kelly
e1e292cd06
Features: Add cxx_alias_templates.
2014-04-08 11:05:56 +02:00
Stephen Kelly
3300f78310
Features: Add cxx_rvalue_references.
2014-04-08 11:05:55 +02:00
Stephen Kelly
b1c5bd5314
Features: Add cxx_reference_qualified_functions.
2014-04-08 11:05:55 +02:00
Stephen Kelly
ea9c445f06
Features: Add cxx_raw_string_literals.
2014-04-08 11:05:55 +02:00
Stephen Kelly
735adf2c94
Features: Add cxx_range_for.
2014-04-08 11:05:55 +02:00
Stephen Kelly
0fa9bbf1fa
Features: Add cxx_nullptr.
2014-04-08 11:05:55 +02:00
Stephen Kelly
8149fc909f
Features: Add cxx_noexcept.
2014-04-08 11:05:55 +02:00
Stephen Kelly
bd2a025eb0
Features: Add cxx_nonstatic_member_init.
2014-04-08 11:05:55 +02:00
Stephen Kelly
15cdf6f51d
Features: Add cxx_lambdas.
2014-04-08 11:05:55 +02:00
Stephen Kelly
a579a0aab4
Features: Add cxx_inheriting_constructors.
2014-04-08 11:05:55 +02:00
Stephen Kelly
ebab2015f9
Features: Add cxx_explicit_conversions.
2014-04-08 11:05:55 +02:00
Stephen Kelly
ac3a1b14c0
Features: Add cxx_deleted_functions.
2014-04-08 11:05:55 +02:00
Stephen Kelly
91f3699000
Features: Add cxx_defaulted_functions.
2014-04-08 11:05:54 +02:00
Stephen Kelly
7e748417bc
Features: Add cxx_decltype.
2014-04-08 11:05:54 +02:00