diff options
author | Brad King <brad.king@kitware.com> | 2016-11-30 20:25:01 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-12-02 16:22:46 (GMT) |
commit | ae1a6815b6e2c0a45df51e994b75f9005e1794fe (patch) | |
tree | c8ccf890ced342e9287c8115ac525d062cb6ce0b /Tests | |
parent | 684e4d205d64ff8b98c00a1d6a358bffbf509c62 (diff) | |
download | CMake-ae1a6815b6e2c0a45df51e994b75f9005e1794fe.zip CMake-ae1a6815b6e2c0a45df51e994b75f9005e1794fe.tar.gz CMake-ae1a6815b6e2c0a45df51e994b75f9005e1794fe.tar.bz2 |
Features: Add infrastructure for C++ 17 language standard
Issue: #16468
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/CompileFeatures/CMakeLists.txt | 3 | ||||
-rw-r--r-- | Tests/CompileFeatures/default_dialect.cpp | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/Tests/CompileFeatures/CMakeLists.txt b/Tests/CompileFeatures/CMakeLists.txt index 8acdd93..0405def 100644 --- a/Tests/CompileFeatures/CMakeLists.txt +++ b/Tests/CompileFeatures/CMakeLists.txt @@ -28,7 +28,7 @@ foreach(feature ${c_features}) run_test(${feature} C) endforeach() get_property(cxx_features GLOBAL PROPERTY CMAKE_CXX_KNOWN_FEATURES) -list(REMOVE_ITEM cxx_features cxx_std_98 cxx_std_11 cxx_std_14) +list(REMOVE_ITEM cxx_features cxx_std_98 cxx_std_11 cxx_std_14 cxx_std_17) foreach(feature ${cxx_features}) run_test(${feature} CXX) endforeach() @@ -268,6 +268,7 @@ if (CMAKE_CXX_COMPILE_FEATURES) if (std_flag_idx EQUAL -1) add_executable(default_dialect default_dialect.cpp) target_compile_definitions(default_dialect PRIVATE + DEFAULT_CXX17=$<EQUAL:${CMAKE_CXX_STANDARD_DEFAULT},17> DEFAULT_CXX14=$<EQUAL:${CMAKE_CXX_STANDARD_DEFAULT},14> DEFAULT_CXX11=$<EQUAL:${CMAKE_CXX_STANDARD_DEFAULT},11> DEFAULT_CXX98=$<EQUAL:${CMAKE_CXX_STANDARD_DEFAULT},98> diff --git a/Tests/CompileFeatures/default_dialect.cpp b/Tests/CompileFeatures/default_dialect.cpp index 0efaefa..9b65b42 100644 --- a/Tests/CompileFeatures/default_dialect.cpp +++ b/Tests/CompileFeatures/default_dialect.cpp @@ -2,7 +2,11 @@ template <long l> struct Outputter; -#if DEFAULT_CXX14 +#if DEFAULT_CXX17 +#if __cplusplus <= 201402L +Outputter<__cplusplus> o; +#endif +#elif DEFAULT_CXX14 #if __cplusplus != 201402L Outputter<__cplusplus> o; #endif |