|
|
@@ -18,14 +18,7 @@ namespace {
|
|
|
* Search for other instances to keep the documentation and test suite
|
|
|
* up-to-date.
|
|
|
*/
|
|
|
-
|
|
|
-struct FeatureData
|
|
|
-{
|
|
|
- std::string const Uuid;
|
|
|
- std::string const Variable;
|
|
|
- std::string const Description;
|
|
|
- bool Warned;
|
|
|
-} LookupTable[] = {
|
|
|
+cmExperimental::FeatureData LookupTable[] = {
|
|
|
// CxxModuleCMakeApi
|
|
|
{ "bf70d4b0-9fb7-465c-9803-34014e70d112",
|
|
|
"CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API",
|
|
|
@@ -37,17 +30,22 @@ static_assert(sizeof(LookupTable) / sizeof(LookupTable[0]) ==
|
|
|
static_cast<size_t>(cmExperimental::Feature::Sentinel),
|
|
|
"Experimental feature lookup table mismatch");
|
|
|
|
|
|
-FeatureData& DataForFeature(cmExperimental::Feature f)
|
|
|
+cmExperimental::FeatureData& DataForFeature(cmExperimental::Feature f)
|
|
|
{
|
|
|
assert(f != cmExperimental::Feature::Sentinel);
|
|
|
return LookupTable[static_cast<size_t>(f)];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+const cmExperimental::FeatureData& cmExperimental::DataForFeature(Feature f)
|
|
|
+{
|
|
|
+ return ::DataForFeature(f);
|
|
|
+}
|
|
|
+
|
|
|
bool cmExperimental::HasSupportEnabled(cmMakefile const& mf, Feature f)
|
|
|
{
|
|
|
bool enabled = false;
|
|
|
- auto& data = DataForFeature(f);
|
|
|
+ auto& data = ::DataForFeature(f);
|
|
|
|
|
|
auto value = mf.GetDefinition(data.Variable);
|
|
|
if (value == data.Uuid) {
|