|
|
@@ -67,7 +67,7 @@ cmMakefile::cmMakefile(cmGlobalGenerator* globalGenerator,
|
|
|
this->WarnUnused = this->GetCMakeInstance()->GetWarnUnused();
|
|
|
this->CheckSystemVars = this->GetCMakeInstance()->GetCheckSystemVars();
|
|
|
|
|
|
- this->SuppressWatches = false;
|
|
|
+ this->SuppressSideEffects = false;
|
|
|
|
|
|
// Setup the default include complaint regular expression (match nothing).
|
|
|
this->ComplainFileRegularExpression = "^$";
|
|
|
@@ -2421,7 +2421,7 @@ const std::string* cmMakefile::GetDef(const std::string& name) const
|
|
|
}
|
|
|
#ifdef CMAKE_BUILD_WITH_CMAKE
|
|
|
cmVariableWatch* vv = this->GetVariableWatch();
|
|
|
- if (vv && !this->SuppressWatches) {
|
|
|
+ if (vv && !this->SuppressSideEffects) {
|
|
|
bool const watch_function_executed =
|
|
|
vv->VariableAccessed(name,
|
|
|
def ? cmVariableWatch::VARIABLE_READ_ACCESS
|
|
|
@@ -2508,11 +2508,11 @@ const std::string& cmMakefile::ExpandVariablesInString(
|
|
|
compareResults = true;
|
|
|
// Suppress variable watches to avoid calling hooks twice. Suppress new
|
|
|
// dereferences since the OLD behavior is still what is actually used.
|
|
|
- this->SuppressWatches = true;
|
|
|
+ this->SuppressSideEffects = true;
|
|
|
newError = ExpandVariablesInStringNew(
|
|
|
newErrorstr, newResult, escapeQuotes, noEscapes, atOnly, filename,
|
|
|
line, removeEmpty, replaceAt);
|
|
|
- this->SuppressWatches = false;
|
|
|
+ this->SuppressSideEffects = false;
|
|
|
CM_FALLTHROUGH;
|
|
|
}
|
|
|
case cmPolicies::OLD:
|
|
|
@@ -2766,7 +2766,7 @@ cmake::MessageType cmMakefile::ExpandVariablesInStringNew(
|
|
|
} else {
|
|
|
varresult = value;
|
|
|
}
|
|
|
- } else if (!removeEmpty) {
|
|
|
+ } else if (!removeEmpty && !this->SuppressSideEffects) {
|
|
|
// check to see if we need to print a warning
|
|
|
// if strict mode is on and the variable has
|
|
|
// not been "cleared"/initialized with a set(foo ) call
|