BUG: fix cmake listfile stack: if a file could not be opened, remove it from
the stack (usually CMakeCInformation.cmake and CMakeCXXInformation.cmake which both put Linux-gcc.cmake on the stack without removing it again: INCLUDE(... OPTIONAL) ) STYLE: better readable output formatting of the listfile stack, now in the same order as in gdb or with include files Alex
This commit is contained in:
parent
c7873ad44a
commit
ef0b9ff2cc
|
@ -450,6 +450,8 @@ bool cmMakefile::ReadListFile(const char* filename_in,
|
||||||
cmListFile cacheFile;
|
cmListFile cacheFile;
|
||||||
if( !cacheFile.ParseFile(filenametoread, requireProjectCommand) )
|
if( !cacheFile.ParseFile(filenametoread, requireProjectCommand) )
|
||||||
{
|
{
|
||||||
|
// pop the listfile off the stack
|
||||||
|
this->ListFileStack.pop_back();
|
||||||
this->AddDefinition("CMAKE_PARENT_LIST_FILE", currentParentFile.c_str());
|
this->AddDefinition("CMAKE_PARENT_LIST_FILE", currentParentFile.c_str());
|
||||||
this->AddDefinition("CMAKE_CURRENT_LIST_FILE", currentFile.c_str());
|
this->AddDefinition("CMAKE_CURRENT_LIST_FILE", currentFile.c_str());
|
||||||
return false;
|
return false;
|
||||||
|
@ -2753,17 +2755,20 @@ std::vector<cmTest*> *cmMakefile::GetTests()
|
||||||
|
|
||||||
std::string cmMakefile::GetListFileStack()
|
std::string cmMakefile::GetListFileStack()
|
||||||
{
|
{
|
||||||
std::string tmp;
|
cmOStringStream tmp;
|
||||||
for (std::deque<cmStdString>::iterator i = this->ListFileStack.begin();
|
unsigned int depth = this->ListFileStack.size();
|
||||||
i != this->ListFileStack.end(); ++i)
|
std::deque<cmStdString>::iterator it = this->ListFileStack.end();
|
||||||
|
do
|
||||||
{
|
{
|
||||||
if (i != this->ListFileStack.begin())
|
--it;
|
||||||
{
|
tmp << "\n[";
|
||||||
tmp += ";";
|
tmp << depth;
|
||||||
}
|
tmp << "]\t";
|
||||||
tmp += *i;
|
tmp << *it;
|
||||||
|
depth--;
|
||||||
}
|
}
|
||||||
return tmp;
|
while (it != this->ListFileStack.begin());
|
||||||
|
return tmp.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
// define properties
|
// define properties
|
||||||
|
|
Loading…
Reference in New Issue