summaryrefslogtreecommitdiffstats
path: root/Source/cmake.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2014-05-02 08:03:24 (GMT)
committerStephen Kelly <steveire@gmail.com>2014-05-02 08:18:16 (GMT)
commit3fdfa5d3fc1170f1cc69636765502ca14b1821ef (patch)
treeac2a317995ebc4a3d67bbc814b566bde84e0ec71 /Source/cmake.cxx
parenta354a8ba5e6ad23e2317f684434136bea622154b (diff)
downloadCMake-3fdfa5d3fc1170f1cc69636765502ca14b1821ef.zip
CMake-3fdfa5d3fc1170f1cc69636765502ca14b1821ef.tar.gz
CMake-3fdfa5d3fc1170f1cc69636765502ca14b1821ef.tar.bz2
Features: Make CMAKE_CXX_KNOWN_FEATURES a property.
As a 'built-in' variable it imposes a cost on all variable lookups and it is expected to be rarely used.
Diffstat (limited to 'Source/cmake.cxx')
-rw-r--r--Source/cmake.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 7aada4b..3e78990 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -2273,6 +2273,12 @@ const char *cmake::GetProperty(const std::string& prop,
}
this->SetProperty("ENABLED_LANGUAGES", lang.c_str());
}
+ if (prop == "CMAKE_CXX_KNOWN_FEATURES")
+ {
+#define STRING_LIST_ELEMENT(F) ";" #F
+ return FOR_EACH_CXX_FEATURE(STRING_LIST_ELEMENT) + 1;
+#undef STRING_LIST_ELEMENT
+ }
return this->Properties.GetPropertyValue(prop, scope, chain);
}