diff options
-rw-r--r-- | Source/cmMakefile.cxx | 20 | ||||
-rw-r--r-- | Source/cmMakefile.h | 3 | ||||
-rw-r--r-- | Source/cmTarget.cxx | 22 | ||||
-rw-r--r-- | Source/cmTarget.h | 5 | ||||
-rw-r--r-- | Source/cmTargetCompileOptionsCommand.cxx | 3 |
5 files changed, 28 insertions, 25 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index c705e7d..8276faa 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -288,19 +288,15 @@ std::vector<cmValueWithOrigin> cmMakefile::GetIncludeDirectoriesEntries() const return entries; } -std::vector<cmValueWithOrigin> cmMakefile::GetCompileOptionsEntries() const +std::vector<std::string> cmMakefile::GetCompileOptionsEntries() const { - std::vector<cmValueWithOrigin> entries; - entries.reserve(this->CompileOptionsEntries.size()); - std::vector<cmListFileBacktrace>::const_iterator btIt = - this->CompileOptionsEntryBacktraces.begin(); - for(std::vector<std::string>::const_iterator it = - this->CompileOptionsEntries.begin(); - it != this->CompileOptionsEntries.end(); ++it, ++btIt) - { - entries.push_back(cmValueWithOrigin(*it, *btIt)); - } - return entries; + return this->CompileOptionsEntries; +} + +std::vector<cmListFileBacktrace> +cmMakefile::GetCompileOptionsBacktraces() const +{ + return this->CompileOptionsEntryBacktraces; } std::vector<std::string> cmMakefile::GetCompileDefinitionsEntries() const diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index e69ce1e..9b21608 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -747,7 +747,8 @@ public: void SetCheckCMP0000(bool b) { this->CheckCMP0000 = b; } std::vector<cmValueWithOrigin> GetIncludeDirectoriesEntries() const; - std::vector<cmValueWithOrigin> GetCompileOptionsEntries() const; + std::vector<std::string> GetCompileOptionsEntries() const; + std::vector<cmListFileBacktrace> GetCompileOptionsBacktraces() const; std::vector<std::string> GetCompileDefinitionsEntries() const; std::vector<cmListFileBacktrace> GetCompileDefinitionsBacktraces() const; diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 906517b..0aa66cd 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -416,13 +416,18 @@ void cmTarget::SetMakefile(cmMakefile* mf) this->SystemIncludeDirectories.insert(parentSystemIncludes.begin(), parentSystemIncludes.end()); - const std::vector<cmValueWithOrigin> parentOptions = + const std::vector<std::string> parentOptions = this->Makefile->GetCompileOptionsEntries(); + const std::vector<cmListFileBacktrace> parentOptionsBts = + this->Makefile->GetCompileOptionsBacktraces(); - for (std::vector<cmValueWithOrigin>::const_iterator it - = parentOptions.begin(); it != parentOptions.end(); ++it) + std::vector<cmListFileBacktrace>::const_iterator btIt = + parentOptionsBts.begin(); + for (std::vector<std::string>::const_iterator it + = parentOptions.begin(); + it != parentOptions.end(); ++it, ++btIt) { - this->InsertCompileOption(*it); + this->InsertCompileOption(*it, *btIt); } } @@ -1940,17 +1945,18 @@ void cmTarget::InsertInclude(const cmValueWithOrigin &entry, } //---------------------------------------------------------------------------- -void cmTarget::InsertCompileOption(const cmValueWithOrigin &entry, - bool before) +void cmTarget::InsertCompileOption(std::string const& entry, + cmListFileBacktrace const& bt, + bool before) { - cmGeneratorExpression ge(entry.Backtrace); + cmGeneratorExpression ge(bt); std::vector<cmTargetInternals::TargetPropertyEntry*>::iterator position = before ? this->Internal->CompileOptionsEntries.begin() : this->Internal->CompileOptionsEntries.end(); this->Internal->CompileOptionsEntries.insert(position, - new cmTargetInternals::TargetPropertyEntry(ge.Parse(entry.Value))); + new cmTargetInternals::TargetPropertyEntry(ge.Parse(entry))); } //---------------------------------------------------------------------------- diff --git a/Source/cmTarget.h b/Source/cmTarget.h index 9c98672..ba3bc5a 100644 --- a/Source/cmTarget.h +++ b/Source/cmTarget.h @@ -574,8 +574,9 @@ public: const std::string& language) const; void InsertInclude(const cmValueWithOrigin &entry, bool before = false); - void InsertCompileOption(const cmValueWithOrigin &entry, - bool before = false); + void InsertCompileOption(std::string const& entry, + cmListFileBacktrace const& bt, + bool before = false); void InsertCompileDefinition(std::string const& entry, cmListFileBacktrace const& bt); diff --git a/Source/cmTargetCompileOptionsCommand.cxx b/Source/cmTargetCompileOptionsCommand.cxx index a85153d..8e86f0f 100644 --- a/Source/cmTargetCompileOptionsCommand.cxx +++ b/Source/cmTargetCompileOptionsCommand.cxx @@ -50,7 +50,6 @@ bool cmTargetCompileOptionsCommand bool, bool) { cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmValueWithOrigin entry(this->Join(content), lfbt); - tgt->InsertCompileOption(entry); + tgt->InsertCompileOption(this->Join(content), lfbt); return true; } |