Brad King
d09fda5d91
Tests: Improve FindPackageTest for in-source builds
...
Use a different directory name for the Exporter build tree so that it is
out-of-source even when the main test is in-source.
2014-05-12 09:44:32 -04:00
Brad King
ac24a1c031
Tests: Improve FindPackageTest exported package version
...
Add a random version component so that the test is unlikely to conflict
with other tests of the same CMake version on the same machine.
2014-05-12 09:44:28 -04:00
Brad King
8e767a27d2
Merge topic 'CMAKE_CXX_KNOWN_FEATURES-global-property'
...
3fdfa5d3
Features: Make CMAKE_CXX_KNOWN_FEATURES a property.
2014-05-06 13:48:42 -04:00
Brad King
58557486db
Merge topic 'dont-rewrite-moc-parameter-file'
...
17c31b8b
Qt4: Extend the Qt4Targets test to cover dir and target moc parameters.
6a5bd7f0
Qt4: write moc parameter file only when content has changed
2014-05-06 13:48:40 -04:00
Stephen Kelly
17c31b8bd4
Qt4: Extend the Qt4Targets test to cover dir and target moc parameters.
2014-05-06 13:39:45 -04: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
ecdc1985e3
Merge topic 'file-generate-if-different'
...
42e1cd13
file(GENERATE): Only write the file if content is different.
2014-05-01 09:11:23 -04:00
Brad King
8535d4cf5d
Merge topic 'cxx98-features'
...
a36b957f
Features: Add cxx_template_template_parameters.
2014-04-30 09:42:00 -04:00
Stephen Kelly
42e1cd137c
file(GENERATE): Only write the file if content is different.
...
No policy is used to control this behavior for now.
2014-04-30 15:18:13 +02:00
Brad King
b10083876c
Merge topic 'feature-absence-hard-error'
...
8d0b1cca
Features: FATAL_ERROR on compilers with no recorded features.
447fbb3f
Tests: Execute compile features tests unconditionally.
597bb72e
Tests: Run RunCMake.target_compile_features unconditionally.
2014-04-21 09:35:42 -04:00
Brad King
ba83d84714
Merge topic 'ExternalData-missing-not-fatal'
...
ccd29b9a
ExternalData: Warn on missing file instead of failing
2014-04-21 09:32:32 -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
447fbb3fac
Tests: Execute compile features tests unconditionally.
...
Conditionally create a dummy test if there are no known features.
2014-04-17 16:20:50 +02:00
Brad King
ccd29b9af8
ExternalData: Warn on missing file instead of failing
...
When the primary source tree path named by a DATA{} reference does not
exist, produce an AUTHOR_WARNING instead of a FATAL_ERROR. This is
useful when writing a new DATA{} reference to a test reference output
that has not been created yet. This way the developer can run the test,
manually verify the output, and then copy it into place to provide the
reference and eliminate the warning.
If the named source tree path is expected to be a file but exists as a
directory, we still need to produce a FATAL_ERROR.
2014-04-17 09:45:09 -04:00
Stephen Kelly
3b673586f5
CMP0052: Make the warning message more informative.
...
Print the reason for the offending entry in the
INTERFACE_INCLUDE_DIRECTORIES.
2014-04-17 09:08:24 -04:00
Stephen Kelly
5baa81592b
CMP0052: Test that include dirs in install locations cause no warnings.
2014-04-17 09:07:59 -04:00
Stephen Kelly
597bb72ed7
Tests: Run RunCMake.target_compile_features unconditionally.
...
It is so far testing only cases which are fatal regardless of
recorded features.
2014-04-16 17:22:19 +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
Brad King
8472ef243f
Merge topic 'cxx11-features'
...
60c0d2dd
Features: Add cxx_defaulted_move_initializers.
c4e67235
Features: Add cxx_long_long_type.
dcaafada
Features: Add cxx_func_identifier.
251a1f02
Features: Add cxx_local_type_template_args.
53fe7773
Features: Add cxx_extended_friend_declarations.
16603f7c
Features: Add cxx_enum_forward_declarations.
adf22f61
Features: Add cxx_default_function_template_args.
7b3e8a05
Features: Add cxx_right_angle_brackets.
9a49fd21
Features: Add cxx_decltype_incomplete_return_types.
1889045c
Features: Add cxx_sizeof_member.
ab455eba
Features: Add cxx_thread_local.
300ce248
Features: Add cxx_inline_namespaces.
f9d04a96
Features: Add cxx_variadic_macros.
3d76656f
Features: Add cxx_uniform_initialization.
e74b216c
Features: Add cxx_generalized_initializers.
ff80c3b4
Features: Add cxx_attributes.
...
2014-04-15 10:32:13 -04:00
Brad King
b56a9ae7f1
Merge topic 'target_compile_features'
...
9eaf3755
Export: Populate INTERFACE_COMPILE_FEATURES property.
8ed59fc2
Add target_compile_features command.
4e6ca504
cmTargetPropCommandBase: Change the interface to return bool.
5412dede
cmTarget: Transitively evaluate compiler features.
baff4434
cmTarget: Allow populating COMPILE_FEATURES using generator expressions.
f97bf437
Features: Add cxx_auto_type.
03355d6b
cmTarget: Add COMPILE_FEATURES target property.
faeddf64
project: Add infrastructure for recording CXX compiler features
913394af
cmTarget: Add CXX_STANDARD and CXX_EXTENSION target properties.
8238a6cd
Add some COMPILE_OPTIONS for specifying C++ dialect.
892243fc
Tests: Require CMake 3.0 for the SystemInformation test.
59b5fdd3
Don't load Clang-CXX from AppleClang-CXX.
2014-04-15 10:32:11 -04:00
Brad King
18aaed77c0
Merge topic 'matches-cleanup'
...
f21ac16e
Replace MATCHES test on numbers with EQUAL test
7eacbaed
Replace MATCHES ".+" tests with NOT STREQUAL ""
3a71d34c
Use CMAKE_SYSTEM_NAME instead of CMAKE_SYSTEM where sufficient
b0b4b460
Remove .* expressions from beginning and end of MATCHES regexs
5bd48ac5
Replace string(REGEX REPLACE) with string(REPLACE) where possible
2622bc3f
Clean up usage of if(... MATCHES regex) followed string(REGEX REPLACE regex)
2014-04-15 10:22:34 -04:00
Rolf Eike Beer
f21ac16edd
Replace MATCHES test on numbers with EQUAL test
...
The MATCHES tests were actually wrong, as "a4b" and "42" would also cause a
match when it should not.
2014-04-14 18:17:49 +02:00
Rolf Eike Beer
3a71d34cf3
Use CMAKE_SYSTEM_NAME instead of CMAKE_SYSTEM where sufficient
2014-04-14 18:17:18 +02:00
Rolf Eike Beer
b0b4b4602f
Remove .* expressions from beginning and end of MATCHES regexs
...
All these expressions work the same:
"foo"
".*foo.*"
"^.*foo.*$"
This assumes that the "Intel*" expressions were meant to be "Intel.*".
2014-04-14 18:17:11 +02:00
Rolf Eike Beer
5bd48ac534
Replace string(REGEX REPLACE) with string(REPLACE) where possible
...
The simple replacement is much faster.
2014-04-14 18:17:05 +02:00
Rolf Eike Beer
2622bc3f65
Clean up usage of if(... MATCHES regex) followed string(REGEX REPLACE regex)
...
The matches have already been calculated and can simply be taken from
CMAKE_MATCH_n variables. This avoids multiple compilations of the same or very
similar regular expressions.
2014-04-14 18:16:58 +02:00
Stephen Kelly
b8af201168
cmTarget: Fix listing of source files at configure-time.
...
Since commit e5da9e51
(cmTarget: Allow any generator expression in
SOURCES property., 2014-03-18), source files are computed by
true evaluation of generator expressions, including TARGET_OBJECTS.
This evaluation requires the presence of cmGeneratorTarget objects
since commit bf98cc25
(Genex: Evaluate TARGET_OBJECTS as a normal
expression., 2014-02-26).
Ensure that we don't attempt to evaluate the TARGET_OBJECTS generator
expression at configure-time, as can happen if CMP0024 or CMP0026
are OLD. Use old-style parsing of the source item to extract
object target names in that case.
Avoid calling GetProperty("SOURCES") to bypass warnings from CMP0051.
Refactor existing logic in GetLanguages which is similar in intent to
the new GetSourceFiles code.
2014-04-13 10:59:50 +02:00
Brad King
5c63c13190
Merge topic 'install-prefix-in-interface'
...
783bce29
Export: Disallow exported interface includes in src/build tree (#14592 ).
c869984e
RunCMake: Allow specifying the source dir and file to test.
2014-04-10 09:53:13 -04:00
Stephen Kelly
783bce295b
Export: Disallow exported interface includes in src/build tree ( #14592 ).
...
Allow directories in the source tree or build tree only if the
install tree is a subdirectory of the source tree or build tree,
as appropriate.
Re-use the test files in the RunCMake.include_directories test
to run in multiple scenarios. Bump the required CMake version
in the test to 3.0 to ensure that the new policy warnings are
emitted correctly.
2014-04-09 10:38:49 +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