diff options
author | Kyle Edwards <kyle.edwards@kitware.com> | 2020-10-22 15:04:40 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2020-10-22 15:05:09 (GMT) |
commit | 5ef9978087dfc3a55f34320ac05c77085b264a35 (patch) | |
tree | 3ec78eaa19b17a7f9c0d5d79754ccdf118355c53 /Source/cmake.cxx | |
parent | 3e74f89e3fcc62ea2cc8f4010cbce4cbac47aca2 (diff) | |
parent | 638557cbfe0618d5a0fc6f9088e34aac708f5519 (diff) | |
download | CMake-5ef9978087dfc3a55f34320ac05c77085b264a35.zip CMake-5ef9978087dfc3a55f34320ac05c77085b264a35.tar.gz CMake-5ef9978087dfc3a55f34320ac05c77085b264a35.tar.bz2 |
Merge topic 'cmake-presets-invalid-macro'
638557cbfe CMakePresets.json: Properly report macro expansion errors
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5397
Diffstat (limited to 'Source/cmake.cxx')
-rw-r--r-- | Source/cmake.cxx | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 80a6edc..7d044ec 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -1042,17 +1042,17 @@ void cmake::SetArgs(const std::vector<std::string>& args) this->PrintPresetList(settingsFile); return; } - if (preset->second.Hidden) { + if (preset->second.Unexpanded.Hidden) { cmSystemTools::Error(cmStrCat("Cannot use hidden preset in ", this->GetHomeDirectory(), ": \"", presetName, '"')); this->PrintPresetList(settingsFile); return; } - auto expandedPreset = settingsFile.ExpandMacros(preset->second); + auto const& expandedPreset = preset->second.Expanded; if (!expandedPreset) { cmSystemTools::Error(cmStrCat("Could not evaluate preset \"", - preset->second.Name, + preset->second.Unexpanded.Name, "\": Invalid macro expansion")); return; } @@ -1464,13 +1464,12 @@ void cmake::PrintPresetList(const cmCMakePresetsFile& file) const std::vector<cmCMakePresetsFile::UnexpandedPreset> presets; for (auto const& p : file.PresetOrder) { auto const& preset = file.Presets.at(p); - if (!preset.Hidden && + if (!preset.Unexpanded.Hidden && preset.Expanded && std::find_if(generators.begin(), generators.end(), [&preset](const GeneratorInfo& info) { - return info.name == preset.Generator; - }) != generators.end() && - file.ExpandMacros(preset)) { - presets.push_back(preset); + return info.name == preset.Unexpanded.Generator; + }) != generators.end()) { + presets.push_back(preset.Unexpanded); } } |