diff options
| author | Brad King <brad.king@kitware.com> | 2017-02-03 14:32:45 (GMT) |
|---|---|---|
| committer | CMake Topic Stage <kwrobot@kitware.com> | 2017-02-03 14:32:45 (GMT) |
| commit | fb26fcb261c927687f66b556df83ff6546f9bbd9 (patch) | |
| tree | 873a1819da3b05c4bae35b6d3cb48eedd9c5f010 /Tests/Module/WriteCompilerDetectionHeader | |
| parent | 6286d26ca6408cfc45031536ed54b1679e6d5ac2 (diff) | |
| parent | 37ed860ad1e71f347513a38432640f7dda5c07ee (diff) | |
| download | CMake-fb26fcb261c927687f66b556df83ff6546f9bbd9.zip CMake-fb26fcb261c927687f66b556df83ff6546f9bbd9.tar.gz CMake-fb26fcb261c927687f66b556df83ff6546f9bbd9.tar.bz2 | |
Merge topic 'gcc-features'
37ed860a GNU C++: record that -fvisibility-inlines-hidden is available since 4.0
94a8ee6f GNU C: record that C99 is available since at least 3.4
940bf6a4 Tests/Module/WCDH: only use -Werror=undef compiler flag if actually supported
f26ca5a1 Tests/Module/WCDH: write multi_file_compiler_detection.h before using it
Diffstat (limited to 'Tests/Module/WriteCompilerDetectionHeader')
| -rw-r--r-- | Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt b/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt index 7957ab8..2657aeb 100644 --- a/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt +++ b/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt @@ -20,6 +20,17 @@ write_compiler_detection_header( ${cxx_known_features} ${c_known_features} ) +write_compiler_detection_header( + FILE "${CMAKE_CURRENT_BINARY_DIR}/compiler_multi_files/multi_file_compiler_detection.h" + PREFIX MULTI + OUTPUT_FILES_VAR multi_files + OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/compiler_multi_files/compiler_support" + COMPILERS GNU Clang AppleClang MSVC SunPro Intel + VERSION 3.1 + FEATURES + ${cxx_known_features} ${c_known_features} +) + macro(set_defines target true_defs false_defs) set(defines) foreach(def ${true_defs}) @@ -57,7 +68,11 @@ if (CMAKE_C_COMPILE_FEATURES) add_executable(C_undefined c_undefined.c) set_property(TARGET C_undefined PROPERTY C_STANDARD 90) - target_compile_options(C_undefined PRIVATE -Werror=undef) + include(CheckCCompilerFlag) + check_c_compiler_flag(-Werror=undef use_error_undef) + if (use_error_undef) + target_compile_options(C_undefined PRIVATE -Werror=undef) + endif() add_executable(WriteCompilerDetectionHeader_C main.c) set_property(TARGET WriteCompilerDetectionHeader_C PROPERTY C_STANDARD 90) @@ -116,17 +131,6 @@ add_executable(WriteCompilerDetectionHeader main.cpp) set_property(TARGET WriteCompilerDetectionHeader PROPERTY CXX_STANDARD 98) set_defines(WriteCompilerDetectionHeader "${true_defs}" "${false_defs}") -write_compiler_detection_header( - FILE "${CMAKE_CURRENT_BINARY_DIR}/compiler_multi_files/multi_file_compiler_detection.h" - PREFIX MULTI - OUTPUT_FILES_VAR multi_files - OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/compiler_multi_files/compiler_support" - COMPILERS GNU Clang AppleClang MSVC SunPro Intel - VERSION 3.1 - FEATURES - ${cxx_known_features} ${c_known_features} -) - add_executable(multi_files multi_files.cpp) set_property(TARGET multi_files PROPERTY CXX_STANDARD 98) target_include_directories(multi_files PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/compiler_multi_files) |
