Always cache entries through the cmake instance.

This commit is contained in:
Stephen Kelly 2015-10-10 15:03:41 +02:00
parent 2afadb0d5a
commit e0f740f1b1
2 changed files with 4 additions and 3 deletions

View File

@ -1908,13 +1908,13 @@ void cmMakefile::AddCacheDefinition(const std::string& name, const char* value,
nvalue += files[cc];
}
this->GetState()->AddCacheEntry(name, nvalue.c_str(), doc, type);
this->GetCMakeInstance()->AddCacheEntry(name, nvalue.c_str(), doc, type);
val = this->GetState()->GetInitializedCacheValue(name);
haveVal = true;
}
}
this->GetState()->AddCacheEntry(name, haveVal ? val.c_str() : 0,
this->GetCMakeInstance()->AddCacheEntry(name, haveVal ? val.c_str() : 0,
doc, type);
// if there was a definition then remove it
this->StateSnapshot.RemoveDefinition(name);

View File

@ -39,7 +39,8 @@ bool cmMarkAsAdvancedCommand
cmState* state = this->Makefile->GetState();
if (!state->GetCacheEntryValue(variable))
{
state->AddCacheEntry(variable, 0, 0, cmState::UNINITIALIZED);
this->Makefile->GetCMakeInstance()->AddCacheEntry(
variable, 0, 0, cmState::UNINITIALIZED);
overwrite = true;
}
if (!state->GetCacheEntryValue(variable))