From 3305364f831023dcc6ab670c087f36d0688b99d1 Mon Sep 17 00:00:00 2001 From: Stephen Kelly <steveire@gmail.com> Date: Thu, 7 Nov 2013 14:09:04 +0100 Subject: cmGlobalGenerator: Rename the FinalizeCompileDefinitions method. This will soon also finalize include directories. --- Source/cmGlobalGenerator.cxx | 4 ++-- Source/cmGlobalGenerator.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index 71dd897..1cd158c 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -1059,7 +1059,7 @@ void cmGlobalGenerator::Generate() return; } - this->FinalizeTargetCompileDefinitions(); + this->FinalizeTargetCompileInfo(); #ifdef CMAKE_BUILD_WITH_CMAKE // Iterate through all targets and set up automoc for those which have @@ -1270,7 +1270,7 @@ void cmGlobalGenerator::CreateQtAutoGeneratorsTargets(AutogensType &autogens) } //---------------------------------------------------------------------------- -void cmGlobalGenerator::FinalizeTargetCompileDefinitions() +void cmGlobalGenerator::FinalizeTargetCompileInfo() { // Construct per-target generator information. for(unsigned int i=0; i < this->LocalGenerators.size(); ++i) diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h index 1b8daa9..8a753b7 100644 --- a/Source/cmGlobalGenerator.h +++ b/Source/cmGlobalGenerator.h @@ -397,7 +397,7 @@ private: void WriteSummary(); void WriteSummary(cmTarget* target); - void FinalizeTargetCompileDefinitions(); + void FinalizeTargetCompileInfo(); virtual void PrintCompilerAdvice(std::ostream& os, std::string lang, const char* envVar); -- cgit v0.12 From 19a8a3c4c8105c85527da8651729f6300c054d74 Mon Sep 17 00:00:00 2001 From: Stephen Kelly <steveire@gmail.com> Date: Thu, 7 Nov 2013 14:10:11 +0100 Subject: cmTarget: Don't finalize include directories in GetIncludeDirectories. Rely on that having been done by the cmGlobalGenerator. --- Source/cmGlobalGenerator.cxx | 7 ++----- Source/cmTarget.cxx | 2 -- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index 1cd158c..9c9df99 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -1084,11 +1084,6 @@ void cmGlobalGenerator::Generate() (*targets)[tit->first] = tit->second; (*targets)[tit->first].SetMakefile(mf); } - - for ( tit = targets->begin(); tit != targets->end(); ++ tit ) - { - tit->second.AppendBuildInterfaceIncludes(); - } } // Add generator specific helper commands @@ -1289,6 +1284,8 @@ void cmGlobalGenerator::FinalizeTargetCompileInfo() { cmTarget* t = &ti->second; + t->AppendBuildInterfaceIncludes(); + for (std::vector<cmValueWithOrigin>::const_iterator it = noconfig_compile_definitions.begin(); it != noconfig_compile_definitions.end(); ++it) diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index d0390f7..9162d17 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -1777,8 +1777,6 @@ std::vector<std::string> cmTarget::GetIncludeDirectories(const char *config) this->GetName(), "INCLUDE_DIRECTORIES", 0, 0); - this->AppendBuildInterfaceIncludes(); - std::vector<std::string> debugProperties; const char *debugProp = this->Makefile->GetDefinition("CMAKE_DEBUG_TARGET_PROPERTIES"); -- cgit v0.12 From dcac9be6aa33601db1b32f4efd9f724a97f8844b Mon Sep 17 00:00:00 2001 From: Stephen Kelly <steveire@gmail.com> Date: Wed, 6 Nov 2013 12:33:17 +0100 Subject: Make accessors for compile-related information const. These can be moved to cmGeneratorTarget in CMake 4.0. --- Source/cmTarget.cxx | 27 ++++++++++++++------------- Source/cmTarget.h | 12 ++++++------ 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 9162d17..dc65297 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -138,16 +138,16 @@ public: std::vector<TargetPropertyEntry*> CompileDefinitionsEntries; std::vector<cmValueWithOrigin> LinkInterfacePropertyEntries; - std::map<std::string, std::vector<TargetPropertyEntry*> > + mutable std::map<std::string, std::vector<TargetPropertyEntry*> > CachedLinkInterfaceIncludeDirectoriesEntries; - std::map<std::string, std::vector<TargetPropertyEntry*> > + mutable std::map<std::string, std::vector<TargetPropertyEntry*> > CachedLinkInterfaceCompileOptionsEntries; - std::map<std::string, std::vector<TargetPropertyEntry*> > + mutable std::map<std::string, std::vector<TargetPropertyEntry*> > CachedLinkInterfaceCompileDefinitionsEntries; - std::map<std::string, bool> CacheLinkInterfaceIncludeDirectoriesDone; - std::map<std::string, bool> CacheLinkInterfaceCompileDefinitionsDone; - std::map<std::string, bool> CacheLinkInterfaceCompileOptionsDone; + mutable std::map<std::string, bool> CacheLinkInterfaceIncludeDirectoriesDone; + mutable std::map<std::string, bool> CacheLinkInterfaceCompileDefinitionsDone; + mutable std::map<std::string, bool> CacheLinkInterfaceCompileOptionsDone; }; //---------------------------------------------------------------------------- @@ -1598,7 +1598,7 @@ void cmTarget::InsertCompileDefinition(const cmValueWithOrigin &entry, } //---------------------------------------------------------------------------- -static void processIncludeDirectories(cmTarget *tgt, +static void processIncludeDirectories(cmTarget const* tgt, const std::vector<cmTargetInternals::TargetPropertyEntry*> &entries, std::vector<std::string> &includes, std::set<std::string> &uniqueIncludes, @@ -1767,7 +1767,8 @@ static void processIncludeDirectories(cmTarget *tgt, } //---------------------------------------------------------------------------- -std::vector<std::string> cmTarget::GetIncludeDirectories(const char *config) +std::vector<std::string> +cmTarget::GetIncludeDirectories(const char *config) const { std::vector<std::string> includes; std::set<std::string> uniqueIncludes; @@ -1899,7 +1900,7 @@ std::vector<std::string> cmTarget::GetIncludeDirectories(const char *config) } //---------------------------------------------------------------------------- -static void processCompileOptionsInternal(cmTarget *tgt, +static void processCompileOptionsInternal(cmTarget const* tgt, const std::vector<cmTargetInternals::TargetPropertyEntry*> &entries, std::vector<std::string> &options, std::set<std::string> &uniqueOptions, @@ -1958,7 +1959,7 @@ static void processCompileOptionsInternal(cmTarget *tgt, } //---------------------------------------------------------------------------- -static void processCompileOptions(cmTarget *tgt, +static void processCompileOptions(cmTarget const* tgt, const std::vector<cmTargetInternals::TargetPropertyEntry*> &entries, std::vector<std::string> &options, std::set<std::string> &uniqueOptions, @@ -1971,7 +1972,7 @@ static void processCompileOptions(cmTarget *tgt, //---------------------------------------------------------------------------- void cmTarget::GetCompileOptions(std::vector<std::string> &result, - const char *config) + const char *config) const { std::set<std::string> uniqueOptions; cmListFileBacktrace lfbt; @@ -2070,7 +2071,7 @@ void cmTarget::GetCompileOptions(std::vector<std::string> &result, } //---------------------------------------------------------------------------- -static void processCompileDefinitions(cmTarget *tgt, +static void processCompileDefinitions(cmTarget const* tgt, const std::vector<cmTargetInternals::TargetPropertyEntry*> &entries, std::vector<std::string> &options, std::set<std::string> &uniqueOptions, @@ -2084,7 +2085,7 @@ static void processCompileDefinitions(cmTarget *tgt, //---------------------------------------------------------------------------- void cmTarget::GetCompileDefinitions(std::vector<std::string> &list, - const char *config) + const char *config) const { std::set<std::string> uniqueOptions; cmListFileBacktrace lfbt; diff --git a/Source/cmTarget.h b/Source/cmTarget.h index fbb4914..b516a0a 100644 --- a/Source/cmTarget.h +++ b/Source/cmTarget.h @@ -445,7 +445,7 @@ public: const char* GetExportMacro(); void GetCompileDefinitions(std::vector<std::string> &result, - const char *config); + const char *config) const; // Compute the set of languages compiled by the target. This is // computed every time it is called because the languages can change @@ -512,7 +512,7 @@ public: std::string GetAppBundleDirectory(const char* config, bool contentOnly) const; - std::vector<std::string> GetIncludeDirectories(const char *config); + std::vector<std::string> GetIncludeDirectories(const char *config) const; void InsertInclude(const cmValueWithOrigin &entry, bool before = false); void InsertCompileOption(const cmValueWithOrigin &entry, @@ -523,7 +523,7 @@ public: void AppendBuildInterfaceIncludes(); void GetCompileOptions(std::vector<std::string> &result, - const char *config); + const char *config) const; bool IsNullImpliedByLinkLibraries(const std::string &p) const; bool IsLinkInterfaceDependentBoolProperty(const std::string &p, @@ -679,9 +679,9 @@ private: bool DLLPlatform; bool IsApple; bool IsImportedTarget; - bool DebugIncludesDone; - bool DebugCompileOptionsDone; - bool DebugCompileDefinitionsDone; + mutable bool DebugIncludesDone; + mutable bool DebugCompileOptionsDone; + mutable bool DebugCompileDefinitionsDone; mutable std::set<std::string> LinkImplicitNullProperties; bool BuildInterfaceIncludesAppended; -- cgit v0.12