summaryrefslogtreecommitdiffstats
path: root/Source/cmake.cxx
diff options
context:
space:
mode:
authorKyle Edwards <kyle.edwards@kitware.com>2020-10-22 15:04:40 (GMT)
committerKitware Robot <kwrobot@kitware.com>2020-10-22 15:05:09 (GMT)
commit5ef9978087dfc3a55f34320ac05c77085b264a35 (patch)
tree3ec78eaa19b17a7f9c0d5d79754ccdf118355c53 /Source/cmake.cxx
parent3e74f89e3fcc62ea2cc8f4010cbce4cbac47aca2 (diff)
parent638557cbfe0618d5a0fc6f9088e34aac708f5519 (diff)
downloadCMake-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.cxx15
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);
}
}