diff options
author | Brad King <brad.king@kitware.com> | 2013-11-12 13:32:08 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2013-11-12 13:32:08 (GMT) |
commit | a4b9adec893b7cbce41fbffe65564f80b05e5746 (patch) | |
tree | 29f75b9f3d04f50db3bb2ca9588e91803b7c3c0e | |
parent | a1e22f691792d0c3bcc895ae30f676c6e90167fa (diff) | |
parent | dcac9be6aa33601db1b32f4efd9f724a97f8844b (diff) | |
download | CMake-a4b9adec893b7cbce41fbffe65564f80b05e5746.zip CMake-a4b9adec893b7cbce41fbffe65564f80b05e5746.tar.gz CMake-a4b9adec893b7cbce41fbffe65564f80b05e5746.tar.bz2 |
Merge topic 'constify'
dcac9be Make accessors for compile-related information const.
19a8a3c cmTarget: Don't finalize include directories in GetIncludeDirectories.
3305364 cmGlobalGenerator: Rename the FinalizeCompileDefinitions method.
-rw-r--r-- | Source/cmGlobalGenerator.cxx | 11 | ||||
-rw-r--r-- | Source/cmGlobalGenerator.h | 2 | ||||
-rw-r--r-- | Source/cmTarget.cxx | 29 | ||||
-rw-r--r-- | Source/cmTarget.h | 12 |
4 files changed, 25 insertions, 29 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index eb1e37e..4ea5895 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 @@ -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 @@ -1270,7 +1265,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) @@ -1289,6 +1284,8 @@ void cmGlobalGenerator::FinalizeTargetCompileDefinitions() { 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/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); diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index d5e8420..c9905b6 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; }; //---------------------------------------------------------------------------- @@ -1593,7 +1593,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, @@ -1762,7 +1762,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; @@ -1772,8 +1773,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"); @@ -1896,7 +1895,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, @@ -1955,7 +1954,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, @@ -1968,7 +1967,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; @@ -2067,7 +2066,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, @@ -2081,7 +2080,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; |