summaryrefslogtreecommitdiffstats
path: root/Tests/Module/WriteCompilerDetectionHeader
diff options
context:
space:
mode:
authorRobert Maynard <robert.maynard@kitware.com>2015-01-19 20:49:06 (GMT)
committerBrad King <brad.king@kitware.com>2015-01-30 14:57:33 (GMT)
commitd3489bdb0bc58b36f1e5ff2baa0aee8f4daea734 (patch)
treef957e26ba68f2a2f7b38c5b8669954f70c169389 /Tests/Module/WriteCompilerDetectionHeader
parent3228fc5049e72e6d7584a6f3cec6055b8a726817 (diff)
downloadCMake-d3489bdb0bc58b36f1e5ff2baa0aee8f4daea734.zip
CMake-d3489bdb0bc58b36f1e5ff2baa0aee8f4daea734.tar.gz
CMake-d3489bdb0bc58b36f1e5ff2baa0aee8f4daea734.tar.bz2
Features: Record for MSVC 2010-2015
Also, in WCDH add MSVC Compatibility for cxx_align{of,as}. Co-Author: Stephen Kelly <steveire@gmail.com> Co-Author: Brad King <brad.king@kitware.com>
Diffstat (limited to 'Tests/Module/WriteCompilerDetectionHeader')
-rw-r--r--Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt15
1 files changed, 13 insertions, 2 deletions
diff --git a/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt b/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt
index 78c4a6a..e70a977 100644
--- a/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt
+++ b/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt
@@ -11,7 +11,7 @@ get_property(c_known_features GLOBAL PROPERTY CMAKE_C_KNOWN_FEATURES)
write_compiler_detection_header(
FILE "${CMAKE_CURRENT_BINARY_DIR}/test_compiler_detection.h"
PREFIX TEST
- COMPILERS GNU Clang AppleClang SunPro
+ COMPILERS GNU Clang AppleClang MSVC SunPro
VERSION 3.1
PROLOG "// something"
EPILOG "// more"
@@ -67,6 +67,17 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"
list(APPEND false_defs EXPECTED_COMPILER_CXX_VARIADIC_TEMPLATES)
endif()
+# for msvc the compiler version determines which c++11 features are available.
+if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ if(";${CMAKE_CXX_COMPILE_FEATURES};" MATCHES ";cxx_delegating_constructors;")
+ list(APPEND true_defs EXPECTED_COMPILER_CXX_DELEGATING_CONSTRUCTORS)
+ list(APPEND true_defs EXPECTED_COMPILER_CXX_VARIADIC_TEMPLATES)
+ else()
+ list(APPEND false_defs EXPECTED_COMPILER_CXX_DELEGATING_CONSTRUCTORS)
+ list(APPEND false_defs EXPECTED_COMPILER_CXX_VARIADIC_TEMPLATES)
+ endif()
+endif()
+
if (CMAKE_C_COMPILER_ID STREQUAL "GNU"
OR CMAKE_C_COMPILER_ID STREQUAL "Clang"
OR CMAKE_C_COMPILER_ID STREQUAL "AppleClang")
@@ -84,7 +95,7 @@ write_compiler_detection_header(
PREFIX MULTI
OUTPUT_FILES_VAR multi_files
OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/compiler_multi_files/compiler_support"
- COMPILERS GNU Clang AppleClang SunPro
+ COMPILERS GNU Clang AppleClang MSVC SunPro
VERSION 3.1
FEATURES
${cxx_known_features} ${c_known_features}