cmMakefile: Move IncludeScope to ReadDependentFile.

Add replacement simple push/pop in the other two callers of
ReadListFile.
This commit is contained in:
Stephen Kelly 2015-06-21 19:51:46 +02:00
parent e53072d638
commit 826b6e6818
2 changed files with 15 additions and 11 deletions

View File

@ -532,8 +532,10 @@ bool cmMakefile::ProcessBuildsystemFile(const char* listfile)
{ {
this->AddDefinition("CMAKE_PARENT_LIST_FILE", listfile); this->AddDefinition("CMAKE_PARENT_LIST_FILE", listfile);
std::string curSrc = this->GetCurrentSourceDirectory(); std::string curSrc = this->GetCurrentSourceDirectory();
bool result = this->ReadListFile(listfile, true, this->PushPolicyBarrier();
bool result = this->ReadListFile(listfile,
curSrc == this->GetHomeDirectory()); curSrc == this->GetHomeDirectory());
this->PopPolicyBarrier(!cmSystemTools::GetFatalErrorOccured());
this->EnforceDirectoryLevelRules(); this->EnforceDirectoryLevelRules();
return result; return result;
} }
@ -542,24 +544,31 @@ bool cmMakefile::ReadDependentFile(const char* listfile, bool noPolicyScope)
{ {
this->AddDefinition("CMAKE_PARENT_LIST_FILE", this->AddDefinition("CMAKE_PARENT_LIST_FILE",
this->GetDefinition("CMAKE_CURRENT_LIST_FILE")); this->GetDefinition("CMAKE_CURRENT_LIST_FILE"));
bool result = this->ReadListFile(listfile, noPolicyScope, false); bool result = false;
{
IncludeScope incScope(this, noPolicyScope);
result = this->ReadListFile(listfile, false);
if(cmSystemTools::GetFatalErrorOccured())
{
incScope.Quiet();
}
}
this->ListFileStack.pop_back(); this->ListFileStack.pop_back();
return result; return result;
} }
bool cmMakefile::ReadListFile(const char* listfile) bool cmMakefile::ReadListFile(const char* listfile)
{ {
bool result = this->ReadListFile(listfile, true, false); this->PushPolicyBarrier();
bool result = this->ReadListFile(listfile, false);
this->PopPolicyBarrier(!cmSystemTools::GetFatalErrorOccured());
this->ListFileStack.pop_back(); this->ListFileStack.pop_back();
return result; return result;
} }
bool cmMakefile::ReadListFile(const char* listfile, bool cmMakefile::ReadListFile(const char* listfile,
bool noPolicyScope,
bool requireProjectCommand) bool requireProjectCommand)
{ {
IncludeScope incScope(this, noPolicyScope);
std::string filenametoread = std::string filenametoread =
cmSystemTools::CollapseFullPath(listfile, cmSystemTools::CollapseFullPath(listfile,
this->GetCurrentSourceDirectory()); this->GetCurrentSourceDirectory());
@ -590,10 +599,6 @@ bool cmMakefile::ReadListFile(const char* listfile,
this->MarkVariableAsUsed("CMAKE_CURRENT_LIST_DIR"); this->MarkVariableAsUsed("CMAKE_CURRENT_LIST_DIR");
this->ReadListFileInternal(listFile); this->ReadListFileInternal(listFile);
if(cmSystemTools::GetFatalErrorOccured())
{
incScope.Quiet();
}
this->CheckForUnusedVariables(); this->CheckForUnusedVariables();
this->AddDefinition("CMAKE_PARENT_LIST_FILE", currentParentFile.c_str()); this->AddDefinition("CMAKE_PARENT_LIST_FILE", currentParentFile.c_str());

View File

@ -915,7 +915,6 @@ private:
cmState::Snapshot StateSnapshot; cmState::Snapshot StateSnapshot;
bool ReadListFile(const char* listfile, bool ReadListFile(const char* listfile,
bool noPolicyScope,
bool requireProjectCommand); bool requireProjectCommand);
void ReadListFileInternal(cmListFile const& listFile); void ReadListFileInternal(cmListFile const& listFile);