summaryrefslogtreecommitdiffstats
path: root/Tests/CompileFeatures
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-10-26 20:11:01 (GMT)
committerBrad King <brad.king@kitware.com>2016-11-02 14:00:28 (GMT)
commitb0996a3fa223370edcdb40a1d8b66d1a3a734daf (patch)
tree9b08869843c60df30b4fec54ae9b2224c4643f5b /Tests/CompileFeatures
parent8b6cc2518a8019314af43a32702a09bff318b777 (diff)
downloadCMake-b0996a3fa223370edcdb40a1d8b66d1a3a734daf.zip
CMake-b0996a3fa223370edcdb40a1d8b66d1a3a734daf.tar.gz
CMake-b0996a3fa223370edcdb40a1d8b66d1a3a734daf.tar.bz2
Features: Add meta-features requesting awareness of a particular standard
A common use case of `target_compile_features` is simply to specify that the compiler should be run in a mode that is aware of e.g. C++11. Some projects simply specify a particular C++11-only feature to request this. Provide a first-class way to do this by naming features after the corresponding language standard. Record them as always available in the corresponding standard level so that requesting them always ensures that standard (or higher) is used.
Diffstat (limited to 'Tests/CompileFeatures')
-rw-r--r--Tests/CompileFeatures/CMakeLists.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/Tests/CompileFeatures/CMakeLists.txt b/Tests/CompileFeatures/CMakeLists.txt
index 9f08523..9986de0 100644
--- a/Tests/CompileFeatures/CMakeLists.txt
+++ b/Tests/CompileFeatures/CMakeLists.txt
@@ -23,10 +23,12 @@ macro(run_test feature lang)
endmacro()
get_property(c_features GLOBAL PROPERTY CMAKE_C_KNOWN_FEATURES)
+list(REMOVE_ITEM c_features c_std_90 c_std_99 c_std_11)
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)
foreach(feature ${cxx_features})
run_test(${feature} CXX)
endforeach()