From 7aa1e45e568783e89f7266ff9b8d6f3c538a560b Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Tue, 27 Feb 2024 11:53:49 -0500 Subject: cmStandardLevelResolver: offer an API to get the string of a level --- Source/cmStandardLevelResolver.cxx | 15 +++++++++++++++ Source/cmStandardLevelResolver.h | 3 +++ 2 files changed, 18 insertions(+) diff --git a/Source/cmStandardLevelResolver.cxx b/Source/cmStandardLevelResolver.cxx index c9ed380..44c4ae1 100644 --- a/Source/cmStandardLevelResolver.cxx +++ b/Source/cmStandardLevelResolver.cxx @@ -541,6 +541,21 @@ std::string cmStandardLevelResolver::GetEffectiveStandard( return mapping->second.GetEffectiveStandard(this->Makefile, target, config); } +std::string cmStandardLevelResolver::GetLevelString( + std::string const& lang, cmStandardLevel const& level) const +{ + auto mapping = StandardComputerMapping.find(lang); + if (mapping == StandardComputerMapping.end()) { + return {}; + } + + if (mapping->second.LevelsAsStrings.size() <= level.Index()) { + return {}; + } + + return mapping->second.LevelsAsStrings[level.Index()]; +} + bool cmStandardLevelResolver::AddRequiredTargetFeature( cmTarget* target, const std::string& feature, std::string* error) const { diff --git a/Source/cmStandardLevelResolver.h b/Source/cmStandardLevelResolver.h index 29cab55..523aa73 100644 --- a/Source/cmStandardLevelResolver.h +++ b/Source/cmStandardLevelResolver.h @@ -29,6 +29,9 @@ public: std::string const& lang, std::string const& config) const; + std::string GetLevelString(std::string const& lang, + cmStandardLevel const& level) const; + bool AddRequiredTargetFeature(cmTarget* target, const std::string& feature, std::string* error = nullptr) const; -- cgit v0.12