diff options
| author | Brad King <brad.king@kitware.com> | 2017-06-01 17:40:03 (GMT) |
|---|---|---|
| committer | Kitware Robot <kwrobot@kitware.com> | 2017-06-01 17:40:47 (GMT) |
| commit | 860db083cafb1337147923f7dd21b57767abbee3 (patch) | |
| tree | fea1a13e782087d9699998de11a2f321769c2103 /Tests/Module/WriteCompilerDetectionHeader | |
| parent | c80148c77e552a43b0648bad02de86e6b6d2b61d (diff) | |
| parent | 3c1ecb5214afa45a44742ad2b1e24517925e858a (diff) | |
| download | CMake-860db083cafb1337147923f7dd21b57767abbee3.zip CMake-860db083cafb1337147923f7dd21b57767abbee3.tar.gz CMake-860db083cafb1337147923f7dd21b57767abbee3.tar.bz2 | |
Merge topic 'add-common-record-features-macros'
3c1ecb52 Intel: Fix missing C std default for 12.0 <= ver < 12.1
f70b0bb3 SunPro: Make sure all known versions get CXX98 defaults
220ede74 GNU: Fix language defaults for 3.4
a40e6ba8 Clang: Fix language defaults for 2.1
9b112a84 Compilers: Port to use default cmake_record_lang_compile_features macros
37221529 MSVC: Add empty definitions for std compile options
e556f1b9 CompileFeatures: Makes tests work with meta-feature only
20ffa147 Tests: Allow test macro to take no executable arguments
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !833
Diffstat (limited to 'Tests/Module/WriteCompilerDetectionHeader')
| -rw-r--r-- | Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt b/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt index 2657aeb..52d4613 100644 --- a/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt +++ b/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt @@ -48,7 +48,14 @@ macro(set_defines target true_defs false_defs) ) endmacro() +# Only run the compiler detection header test for compilers with +# detailed features tables, not just meta-features + if (CMAKE_C_COMPILE_FEATURES) + set(C_expected_features ${CMAKE_C_COMPILE_FEATURES}) + list(FILTER C_expected_features EXCLUDE REGEX "^c_std_[0-9][0-9]") +endif() +if (C_expected_features) string(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" COMPILER_VERSION_MAJOR "${CMAKE_C_COMPILER_VERSION}") string(REGEX REPLACE "^[0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1" COMPILER_VERSION_MINOR "${CMAKE_C_COMPILER_VERSION}") string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" COMPILER_VERSION_PATCH "${CMAKE_C_COMPILER_VERSION}") @@ -85,7 +92,11 @@ if (CMAKE_C_COMPILE_FEATURES) endif() endif() -if (NOT CMAKE_CXX_COMPILE_FEATURES) +if (CMAKE_CXX_COMPILE_FEATURES) + set(CXX_expected_features ${CMAKE_CXX_COMPILE_FEATURES}) + list(FILTER CXX_expected_features EXCLUDE REGEX "^cxx_std_[0-9][0-9]") +endif() +if (NOT CXX_expected_features) file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp" "int main(int,char**) { return 0; }\n" ) |
