diff options
author | Ben Boeckel <ben.boeckel@kitware.com> | 2014-05-23 18:41:46 (GMT) |
---|---|---|
committer | Ben Boeckel <ben.boeckel@kitware.com> | 2014-06-05 16:44:04 (GMT) |
commit | d46c650d676420a3053ba39e7af8808d581d04ab (patch) | |
tree | e25c57afe9794bf3c48b5b20ff8658b34cbc0103 /Source | |
parent | 88818b680549651b6531a6648396d749b759afb2 (diff) | |
download | CMake-d46c650d676420a3053ba39e7af8808d581d04ab.zip CMake-d46c650d676420a3053ba39e7af8808d581d04ab.tar.gz CMake-d46c650d676420a3053ba39e7af8808d581d04ab.tar.bz2 |
cmMakefile: return a backtrace
This allows backtraces to be fully controlled by the makefile rather
than externally (and makes changing how they are manipulated easier).
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmCustomCommand.cxx | 2 | ||||
-rw-r--r-- | Source/cmExportBuildFileGenerator.h | 2 | ||||
-rw-r--r-- | Source/cmFileCommand.cxx | 3 | ||||
-rw-r--r-- | Source/cmInstalledFile.cxx | 6 | ||||
-rw-r--r-- | Source/cmMakefile.cxx | 32 | ||||
-rw-r--r-- | Source/cmMakefile.h | 2 | ||||
-rw-r--r-- | Source/cmTarget.cxx | 52 | ||||
-rw-r--r-- | Source/cmTargetCompileOptionsCommand.cxx | 3 | ||||
-rw-r--r-- | Source/cmTargetIncludeDirectoriesCommand.cxx | 3 | ||||
-rw-r--r-- | Source/cmTest.cxx | 2 |
10 files changed, 38 insertions, 69 deletions
diff --git a/Source/cmCustomCommand.cxx b/Source/cmCustomCommand.cxx index ac2eef8..20908a5 100644 --- a/Source/cmCustomCommand.cxx +++ b/Source/cmCustomCommand.cxx @@ -84,7 +84,7 @@ cmCustomCommand::cmCustomCommand(cmMakefile const* mf, this->EscapeAllowMakeVars = false; if(mf) { - mf->GetBacktrace(*this->Backtrace); + *this->Backtrace = mf->GetBacktrace(); } } diff --git a/Source/cmExportBuildFileGenerator.h b/Source/cmExportBuildFileGenerator.h index c1bdb5b..8b5694c 100644 --- a/Source/cmExportBuildFileGenerator.h +++ b/Source/cmExportBuildFileGenerator.h @@ -45,7 +45,7 @@ public: void SetMakefile(cmMakefile *mf) { this->Makefile = mf; - this->Makefile->GetBacktrace(this->Backtrace); + this->Backtrace = this->Makefile->GetBacktrace(); } protected: diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx index 4ee34df..41ea357 100644 --- a/Source/cmFileCommand.cxx +++ b/Source/cmFileCommand.cxx @@ -3270,8 +3270,7 @@ void cmFileCommand::AddEvaluationFile(const std::string &inputName, bool inputIsContent ) { - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmGeneratorExpression outputGe(lfbt); cmsys::auto_ptr<cmCompiledGeneratorExpression> outputCge diff --git a/Source/cmInstalledFile.cxx b/Source/cmInstalledFile.cxx index 7e78ec0..6860e00 100644 --- a/Source/cmInstalledFile.cxx +++ b/Source/cmInstalledFile.cxx @@ -32,8 +32,7 @@ cmInstalledFile::~cmInstalledFile() //---------------------------------------------------------------------------- void cmInstalledFile::SetName(cmMakefile* mf, const std::string& name) { - cmListFileBacktrace backtrace; - mf->GetBacktrace(backtrace); + cmListFileBacktrace backtrace = mf->GetBacktrace(); cmGeneratorExpression ge(backtrace); this->Name = name; @@ -70,8 +69,7 @@ void cmInstalledFile::SetProperty(cmMakefile const* mf, void cmInstalledFile::AppendProperty(cmMakefile const* mf, const std::string& prop, const char* value, bool /*asString*/) { - cmListFileBacktrace backtrace; - mf->GetBacktrace(backtrace); + cmListFileBacktrace backtrace = mf->GetBacktrace(); cmGeneratorExpression ge(backtrace); Property& property = this->Properties[prop]; diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 2620471..b22ff87 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -317,7 +317,7 @@ void cmMakefile::IssueMessage(cmake::MessageType t, { this->CallStack.back().Status->SetNestedError(true); } - this->GetBacktrace(backtrace); + backtrace = this->GetBacktrace(); } else { @@ -348,12 +348,9 @@ void cmMakefile::IssueMessage(cmake::MessageType t, } //---------------------------------------------------------------------------- -bool cmMakefile::GetBacktrace(cmListFileBacktrace& backtrace) const +cmListFileBacktrace cmMakefile::GetBacktrace() const { - if(this->CallStack.empty()) - { - return false; - } + cmListFileBacktrace backtrace; for(CallStackType::const_reverse_iterator i = this->CallStack.rbegin(); i != this->CallStack.rend(); ++i) { @@ -362,7 +359,7 @@ bool cmMakefile::GetBacktrace(cmListFileBacktrace& backtrace) const cmLocalGenerator::HOME); backtrace.push_back(lfc); } - return true; + return backtrace; } //---------------------------------------------------------------------------- @@ -1745,8 +1742,7 @@ void cmMakefile::AddIncludeDirectories(const std::vector<std::string> &incs, before ? this->IncludeDirectoriesEntries.begin() : this->IncludeDirectoriesEntries.end(); - cmListFileBacktrace lfbt; - this->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->GetBacktrace(); cmValueWithOrigin entry(incString, lfbt); this->IncludeDirectoriesEntries.insert(position, entry); @@ -4013,8 +4009,7 @@ void cmMakefile::SetProperty(const std::string& prop, const char* value) { return; } - cmListFileBacktrace lfbt; - this->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->GetBacktrace(); this->IncludeDirectoriesEntries.push_back( cmValueWithOrigin(value, lfbt)); return; @@ -4026,8 +4021,7 @@ void cmMakefile::SetProperty(const std::string& prop, const char* value) { return; } - cmListFileBacktrace lfbt; - this->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->GetBacktrace(); this->CompileOptionsEntries.push_back(cmValueWithOrigin(value, lfbt)); return; } @@ -4038,8 +4032,7 @@ void cmMakefile::SetProperty(const std::string& prop, const char* value) { return; } - cmListFileBacktrace lfbt; - this->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->GetBacktrace(); cmValueWithOrigin entry(value, lfbt); this->CompileDefinitionsEntries.push_back(entry); return; @@ -4070,24 +4063,21 @@ void cmMakefile::AppendProperty(const std::string& prop, { if (prop == "INCLUDE_DIRECTORIES") { - cmListFileBacktrace lfbt; - this->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->GetBacktrace(); this->IncludeDirectoriesEntries.push_back( cmValueWithOrigin(value, lfbt)); return; } if (prop == "COMPILE_OPTIONS") { - cmListFileBacktrace lfbt; - this->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->GetBacktrace(); this->CompileOptionsEntries.push_back( cmValueWithOrigin(value, lfbt)); return; } if (prop == "COMPILE_DEFINITIONS") { - cmListFileBacktrace lfbt; - this->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->GetBacktrace(); this->CompileDefinitionsEntries.push_back( cmValueWithOrigin(value, lfbt)); return; diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index e3b83af..d5ffd98 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -655,7 +655,7 @@ public: /** * Get the current context backtrace. */ - bool GetBacktrace(cmListFileBacktrace& backtrace) const; + cmListFileBacktrace GetBacktrace() const; /** * Get the vector of files created by this makefile diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 15acfdd..f3286d4 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -366,7 +366,7 @@ void cmTarget::SetMakefile(cmMakefile* mf) } // Save the backtrace of target construction. - this->Makefile->GetBacktrace(this->Internal->Backtrace); + this->Internal->Backtrace = this->Makefile->GetBacktrace(); if (!this->IsImported()) { @@ -443,7 +443,7 @@ void cmTarget::AddUtility(const std::string& u, cmMakefile *makefile) { if(this->Utilities.insert(u).second && makefile) { - makefile->GetBacktrace(UtilityBacktraces[u]); + UtilityBacktraces.insert(std::make_pair(u, makefile->GetBacktrace())); } } @@ -910,8 +910,7 @@ void cmTarget::AddTracedSources(std::vector<std::string> const& srcs) { this->Internal->SourceFilesMap.clear(); this->LinkImplementationLanguageIsContextDependent = true; - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmGeneratorExpression ge(lfbt); cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(srcFiles); cge->SetEvaluateForBuildsystem(true); @@ -948,8 +947,7 @@ void cmTarget::AddSources(std::vector<std::string> const& srcs) { this->Internal->SourceFilesMap.clear(); this->LinkImplementationLanguageIsContextDependent = true; - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmGeneratorExpression ge(lfbt); cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(srcFiles); cge->SetEvaluateForBuildsystem(true); @@ -1084,8 +1082,7 @@ cmSourceFile* cmTarget::AddSource(const std::string& src) { this->Internal->SourceFilesMap.clear(); this->LinkImplementationLanguageIsContextDependent = true; - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmGeneratorExpression ge(lfbt); cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(src); cge->SetEvaluateForBuildsystem(true); @@ -1306,8 +1303,7 @@ bool cmTarget::PushTLLCommandTrace(TLLSignature signature) ret = false; } } - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); this->TLLCommands.push_back(std::make_pair(signature, lfbt)); return ret; } @@ -1796,8 +1792,7 @@ void cmTarget::SetProperty(const std::string& prop, const char* value) } if(prop == "INCLUDE_DIRECTORIES") { - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmGeneratorExpression ge(lfbt); deleteAndClear(this->Internal->IncludeDirectoriesEntries); cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(value); @@ -1807,8 +1802,7 @@ void cmTarget::SetProperty(const std::string& prop, const char* value) } if(prop == "COMPILE_OPTIONS") { - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmGeneratorExpression ge(lfbt); deleteAndClear(this->Internal->CompileOptionsEntries); cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(value); @@ -1818,8 +1812,7 @@ void cmTarget::SetProperty(const std::string& prop, const char* value) } if(prop == "COMPILE_FEATURES") { - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmGeneratorExpression ge(lfbt); deleteAndClear(this->Internal->CompileFeaturesEntries); cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(value); @@ -1829,8 +1822,7 @@ void cmTarget::SetProperty(const std::string& prop, const char* value) } if(prop == "COMPILE_DEFINITIONS") { - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmGeneratorExpression ge(lfbt); deleteAndClear(this->Internal->CompileDefinitionsEntries); cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(value); @@ -1849,8 +1841,7 @@ void cmTarget::SetProperty(const std::string& prop, const char* value) if (prop == "LINK_LIBRARIES") { this->Internal->LinkImplementationPropertyEntries.clear(); - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmValueWithOrigin entry(value, lfbt); this->Internal->LinkImplementationPropertyEntries.push_back(entry); return; @@ -1866,8 +1857,7 @@ void cmTarget::SetProperty(const std::string& prop, const char* value) return; } this->Internal->SourceFilesMap.clear(); - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmGeneratorExpression ge(lfbt); this->Internal->SourceEntries.clear(); cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(value); @@ -1901,8 +1891,7 @@ void cmTarget::AppendProperty(const std::string& prop, const char* value, } if(prop == "INCLUDE_DIRECTORIES") { - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmGeneratorExpression ge(lfbt); this->Internal->IncludeDirectoriesEntries.push_back( new cmTargetInternals::TargetPropertyEntry(ge.Parse(value))); @@ -1910,8 +1899,7 @@ void cmTarget::AppendProperty(const std::string& prop, const char* value, } if(prop == "COMPILE_OPTIONS") { - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmGeneratorExpression ge(lfbt); this->Internal->CompileOptionsEntries.push_back( new cmTargetInternals::TargetPropertyEntry(ge.Parse(value))); @@ -1919,8 +1907,7 @@ void cmTarget::AppendProperty(const std::string& prop, const char* value, } if(prop == "COMPILE_FEATURES") { - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmGeneratorExpression ge(lfbt); this->Internal->CompileFeaturesEntries.push_back( new cmTargetInternals::TargetPropertyEntry(ge.Parse(value))); @@ -1928,8 +1915,7 @@ void cmTarget::AppendProperty(const std::string& prop, const char* value, } if(prop == "COMPILE_DEFINITIONS") { - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmGeneratorExpression ge(lfbt); this->Internal->CompileDefinitionsEntries.push_back( new cmTargetInternals::TargetPropertyEntry(ge.Parse(value))); @@ -1945,8 +1931,7 @@ void cmTarget::AppendProperty(const std::string& prop, const char* value, } if (prop == "LINK_LIBRARIES") { - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmValueWithOrigin entry(value, lfbt); this->Internal->LinkImplementationPropertyEntries.push_back(entry); return; @@ -1962,8 +1947,7 @@ void cmTarget::AppendProperty(const std::string& prop, const char* value, return; } this->Internal->SourceFilesMap.clear(); - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmGeneratorExpression ge(lfbt); cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(value); this->Internal->SourceEntries.push_back( diff --git a/Source/cmTargetCompileOptionsCommand.cxx b/Source/cmTargetCompileOptionsCommand.cxx index 18499fd..3fb76a6 100644 --- a/Source/cmTargetCompileOptionsCommand.cxx +++ b/Source/cmTargetCompileOptionsCommand.cxx @@ -55,8 +55,7 @@ bool cmTargetCompileOptionsCommand ::HandleDirectContent(cmTarget *tgt, const std::vector<std::string> &content, bool, bool) { - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmValueWithOrigin entry(this->Join(content), lfbt); tgt->InsertCompileOption(entry); return true; diff --git a/Source/cmTargetIncludeDirectoriesCommand.cxx b/Source/cmTargetIncludeDirectoriesCommand.cxx index caec7eb..e9f0e04 100644 --- a/Source/cmTargetIncludeDirectoriesCommand.cxx +++ b/Source/cmTargetIncludeDirectoriesCommand.cxx @@ -70,8 +70,7 @@ bool cmTargetIncludeDirectoriesCommand ::HandleDirectContent(cmTarget *tgt, const std::vector<std::string> &content, bool prepend, bool system) { - cmListFileBacktrace lfbt; - this->Makefile->GetBacktrace(lfbt); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); cmValueWithOrigin entry(this->Join(content), lfbt); tgt->InsertInclude(entry, prepend); if (system) diff --git a/Source/cmTest.cxx b/Source/cmTest.cxx index 28a7bb1..f0288b2 100644 --- a/Source/cmTest.cxx +++ b/Source/cmTest.cxx @@ -22,7 +22,7 @@ cmTest::cmTest(cmMakefile* mf) this->OldStyle = true; this->Properties.SetCMakeInstance(mf->GetCMakeInstance()); this->Backtrace = new cmListFileBacktrace; - this->Makefile->GetBacktrace(*this->Backtrace); + *this->Backtrace = this->Makefile->GetBacktrace(); } //---------------------------------------------------------------------------- |