summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-08-11 13:13:36 (GMT)
committerKitware Robot <kwrobot@kitware.com>2017-08-11 13:13:39 (GMT)
commit0baf114a35f061ac27f44c9d4716b2f30a1533c6 (patch)
tree2aab1d73161d19999fbc258ecf13fdf84ae41e7e /Tests
parentd4b70a20fae44e802b5e07c7fa18b81808263f77 (diff)
parent4f7d9eef51da4a72fd7c7a17bcbbcf83ffad3216 (diff)
downloadCMake-0baf114a35f061ac27f44c9d4716b2f30a1533c6.zip
CMake-0baf114a35f061ac27f44c9d4716b2f30a1533c6.tar.gz
CMake-0baf114a35f061ac27f44c9d4716b2f30a1533c6.tar.bz2
Merge topic 'genex-COMPILE_FEATURES-stds'
4f7d9eef Features: Fix COMPILE_FEATURES genex for C++ 14 and 17 features Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1118
Diffstat (limited to 'Tests')
-rw-r--r--Tests/CompileFeatures/CMakeLists.txt8
-rw-r--r--Tests/CompileFeatures/genex_test.cpp12
2 files changed, 20 insertions, 0 deletions
diff --git a/Tests/CompileFeatures/CMakeLists.txt b/Tests/CompileFeatures/CMakeLists.txt
index 4a5558d..b560acd 100644
--- a/Tests/CompileFeatures/CMakeLists.txt
+++ b/Tests/CompileFeatures/CMakeLists.txt
@@ -428,6 +428,14 @@ else()
HAVE_FINAL=$<COMPILE_FEATURES:cxx_final>
HAVE_INHERITING_CONSTRUCTORS_AND_FINAL=$<COMPILE_FEATURES:cxx_inheriting_constructors,cxx_final>
)
+ if (CMAKE_CXX_STANDARD_DEFAULT)
+ target_compile_definitions(CompileFeaturesGenex PRIVATE
+ TEST_CXX_STD
+ HAVE_CXX_STD_11=$<COMPILE_FEATURES:cxx_std_11>
+ HAVE_CXX_STD_14=$<COMPILE_FEATURES:cxx_std_14>
+ HAVE_CXX_STD_17=$<COMPILE_FEATURES:cxx_std_17>
+ )
+ endif()
add_executable(CompileFeaturesGenex2 genex_test.cpp)
target_compile_features(CompileFeaturesGenex2 PRIVATE cxx_std_11)
diff --git a/Tests/CompileFeatures/genex_test.cpp b/Tests/CompileFeatures/genex_test.cpp
index 5ae8a78..5303e73 100644
--- a/Tests/CompileFeatures/genex_test.cpp
+++ b/Tests/CompileFeatures/genex_test.cpp
@@ -11,6 +11,18 @@
#error EXPECT_OVERRIDE_CONTROL not defined
#endif
+#ifdef TEST_CXX_STD
+#if !HAVE_CXX_STD_11
+#error HAVE_CXX_STD_11 is false with CXX_STANDARD == 11
+#endif
+#if HAVE_CXX_STD_14
+#error HAVE_CXX_STD_14 is true with CXX_STANDARD == 11
+#endif
+#if HAVE_CXX_STD_17
+#error HAVE_CXX_STD_17 is true with CXX_STANDARD == 11
+#endif
+#endif
+
#if !HAVE_OVERRIDE_CONTROL
#if EXPECT_OVERRIDE_CONTROL
#error "Expect override control feature"