From 46da8e64b03578e3b7b7059574ee2efff7be071c Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Wed, 10 Apr 2024 00:56:32 -0400 Subject: [PATCH] cmCMakeLanguageCommand: use `cmExperimental::FeatureByName` --- Source/cmCMakeLanguageCommand.cxx | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/Source/cmCMakeLanguageCommand.cxx b/Source/cmCMakeLanguageCommand.cxx index 9ffc3635f6..fe9257ec9b 100644 --- a/Source/cmCMakeLanguageCommand.cxx +++ b/Source/cmCMakeLanguageCommand.cxx @@ -345,27 +345,18 @@ bool cmCMakeLanguageCommandGET_EXPERIMENTAL_FEATURE_ENABLED( auto const& featureName = expandedArgs[1]; auto const& variableName = expandedArgs[2]; - auto feature = cmExperimental::Feature::Sentinel; - for (std::size_t i = 0; - i < static_cast(cmExperimental::Feature::Sentinel); i++) { - if (cmExperimental::DataForFeature(static_cast(i)) - .Name == featureName) { - feature = static_cast(i); - break; + if (auto feature = cmExperimental::FeatureByName(featureName)) { + if (cmExperimental::HasSupportEnabled(makefile, *feature)) { + makefile.AddDefinition(variableName, "TRUE"); + } else { + makefile.AddDefinition(variableName, "FALSE"); } - } - if (feature == cmExperimental::Feature::Sentinel) { + } else { return FatalError(status, cmStrCat("Experimental feature name \"", featureName, "\" does not exist.")); } - if (cmExperimental::HasSupportEnabled(makefile, feature)) { - makefile.AddDefinition(variableName, "TRUE"); - } else { - makefile.AddDefinition(variableName, "FALSE"); - } - return true; } }