define_property(): Only test prefix if INITIALIZE_FROM_VARIABLE is given

This commit is contained in:
Craig Scott 2022-03-19 17:03:26 +11:00
parent 9b50f221f6
commit 87c3b5e421

View File

@ -97,20 +97,20 @@ bool cmDefinePropertyCommand(std::vector<std::string> const& args,
PropertyName, "\""));
return false;
}
}
// Make sure the variable is not reserved.
static constexpr const char* reservedPrefixes[] = {
"CMAKE_",
"_CMAKE_",
};
if (std::any_of(std::begin(reservedPrefixes), std::end(reservedPrefixes),
[&initializeFromVariable](const char* prefix) {
return cmHasPrefix(initializeFromVariable, prefix);
})) {
status.SetError(
cmStrCat("variable name \"", initializeFromVariable, "\" is reserved"));
return false;
// Make sure the variable is not reserved.
static constexpr const char* reservedPrefixes[] = {
"CMAKE_",
"_CMAKE_",
};
if (std::any_of(std::begin(reservedPrefixes), std::end(reservedPrefixes),
[&initializeFromVariable](const char* prefix) {
return cmHasPrefix(initializeFromVariable, prefix);
})) {
status.SetError(cmStrCat("variable name \"", initializeFromVariable,
"\" is reserved"));
return false;
}
}
// Actually define the property.