summaryrefslogtreecommitdiffstats
path: root/Source/cmState.cxx
diff options
context:
space:
mode:
authorRobert Maynard <robert.maynard@kitware.com>2019-03-01 22:12:35 (GMT)
committerRobert Maynard <robert.maynard@kitware.com>2019-03-20 16:10:07 (GMT)
commit616282a5ce05d29ddad12c43e64e0764d91e817b (patch)
tree85624de60dbf9bd396c1338e715f46daf90e5172 /Source/cmState.cxx
parent7a30d72728b9334e18205dc65cf4419efdcfba34 (diff)
downloadCMake-616282a5ce05d29ddad12c43e64e0764d91e817b.zip
CMake-616282a5ce05d29ddad12c43e64e0764d91e817b.tar.gz
CMake-616282a5ce05d29ddad12c43e64e0764d91e817b.tar.bz2
CMake: Provide language level compile features lists
Now CMake stores what compile features are associated with each language level and exposes them as global properties.
Diffstat (limited to 'Source/cmState.cxx')
-rw-r--r--Source/cmState.cxx19
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/cmState.cxx b/Source/cmState.cxx
index a08e9b8..fa7df0b 100644
--- a/Source/cmState.cxx
+++ b/Source/cmState.cxx
@@ -556,9 +556,28 @@ const char* cmState::GetGlobalProperty(const std::string& prop)
if (prop == "CMAKE_C_KNOWN_FEATURES") {
return &FOR_EACH_C_FEATURE(STRING_LIST_ELEMENT)[1];
}
+ if (prop == "CMAKE_C90_KNOWN_FEATURES") {
+ return &FOR_EACH_C90_FEATURE(STRING_LIST_ELEMENT)[1];
+ }
+ if (prop == "CMAKE_C99_KNOWN_FEATURES") {
+ return &FOR_EACH_C99_FEATURE(STRING_LIST_ELEMENT)[1];
+ }
+ if (prop == "CMAKE_C11_KNOWN_FEATURES") {
+ return &FOR_EACH_C11_FEATURE(STRING_LIST_ELEMENT)[1];
+ }
if (prop == "CMAKE_CXX_KNOWN_FEATURES") {
return &FOR_EACH_CXX_FEATURE(STRING_LIST_ELEMENT)[1];
}
+ if (prop == "CMAKE_CXX98_KNOWN_FEATURES") {
+ return &FOR_EACH_CXX98_FEATURE(STRING_LIST_ELEMENT)[1];
+ }
+ if (prop == "CMAKE_CXX11_KNOWN_FEATURES") {
+ return &FOR_EACH_CXX11_FEATURE(STRING_LIST_ELEMENT)[1];
+ }
+ if (prop == "CMAKE_CXX14_KNOWN_FEATURES") {
+ return &FOR_EACH_CXX14_FEATURE(STRING_LIST_ELEMENT)[1];
+ }
+
#undef STRING_LIST_ELEMENT
return this->GlobalProperties.GetPropertyValue(prop);
}