diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index cbaf97244..647caba69 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -4282,7 +4282,15 @@ const char *cmMakefile::GetProperty(const std::string& prop, } else if (prop == "LISTFILE_STACK") { - output = cmJoin(this->ListFileStack, ";"); + std::vector listFiles; + cmState::Snapshot snp = this->StateSnapshot; + while (snp.IsValid()) + { + listFiles.push_back(snp.GetExecutionListFile()); + snp = snp.GetCallStackParent(); + } + std::reverse(listFiles.begin(), listFiles.end()); + output = cmJoin(listFiles, ";"); return output.c_str(); } else if ( prop == "CACHE_VARIABLES" )