Commit 826b6e68 authored by Stephen Kelly's avatar Stephen Kelly
Browse files

cmMakefile: Move IncludeScope to ReadDependentFile.

Add replacement simple push/pop in the other two callers of
ReadListFile.
parent e53072d6
...@@ -532,8 +532,10 @@ bool cmMakefile::ProcessBuildsystemFile(const char* listfile) ...@@ -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) ...@@ -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, ...@@ -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());
......
...@@ -915,7 +915,6 @@ private: ...@@ -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);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment