diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2016-06-08 11:23:25 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-06-10 13:24:49 (GMT) |
commit | f62ed322dc0d859f595be5ddeff40904ee478f50 (patch) | |
tree | 454be55cfcb19e1775cabc0786020e5ec7298260 | |
parent | 853b1bb4ba176e886e3682a2475f1de1932ee890 (diff) | |
download | CMake-f62ed322dc0d859f595be5ddeff40904ee478f50.zip CMake-f62ed322dc0d859f595be5ddeff40904ee478f50.tar.gz CMake-f62ed322dc0d859f595be5ddeff40904ee478f50.tar.bz2 |
cmLocalGenerator: Add GetTargetDefines to get all defines for a target
-rw-r--r-- | Source/cmCommonTargetGenerator.cxx | 14 | ||||
-rw-r--r-- | Source/cmLocalGenerator.cxx | 14 | ||||
-rw-r--r-- | Source/cmLocalGenerator.h | 3 |
3 files changed, 20 insertions, 11 deletions
diff --git a/Source/cmCommonTargetGenerator.cxx b/Source/cmCommonTargetGenerator.cxx index 131b490..b893dd3 100644 --- a/Source/cmCommonTargetGenerator.cxx +++ b/Source/cmCommonTargetGenerator.cxx @@ -246,19 +246,11 @@ std::string cmCommonTargetGenerator::GetDefines(const std::string& l) ByLanguageMap::iterator i = this->DefinesByLanguage.find(l); if (i == this->DefinesByLanguage.end()) { std::set<std::string> defines; - const char* lang = l.c_str(); - // Add the export symbol definition for shared library objects. - if (const char* exportMacro = this->GeneratorTarget->GetExportMacro()) { - this->LocalGenerator->AppendDefines(defines, exportMacro); - } - - // Add preprocessor definitions for this target and configuration. - this->LocalGenerator->AddCompileDefinitions( - defines, this->GeneratorTarget, this->LocalGenerator->GetConfigName(), - l); + this->LocalGenerator->GetTargetDefines(this->GeneratorTarget, + this->ConfigName, l, defines); std::string definesString; - this->LocalGenerator->JoinDefines(defines, definesString, lang); + this->LocalGenerator->JoinDefines(defines, definesString, l); ByLanguageMap::value_type entry(l, definesString); i = this->DefinesByLanguage.insert(entry).first; diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index 3f957f0..2ccaa82 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -1329,6 +1329,20 @@ std::string cmLocalGenerator::GetFrameworkFlags(std::string const& l, return ::GetFrameworkFlags(l, config, target); } +void cmLocalGenerator::GetTargetDefines(cmGeneratorTarget const* target, + std::string const& config, + std::string const& lang, + std::set<std::string>& defines) const +{ + // Add the export symbol definition for shared library objects. + if (const char* exportMacro = target->GetExportMacro()) { + this->AppendDefines(defines, exportMacro); + } + + // Add preprocessor definitions for this target and configuration. + this->AddCompileDefinitions(defines, target, config, lang.c_str()); +} + std::string cmLocalGenerator::ConvertToLinkReference(std::string const& lib, OutputFormat format) { diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h index ad77c1f..55b8794 100644 --- a/Source/cmLocalGenerator.h +++ b/Source/cmLocalGenerator.h @@ -314,6 +314,9 @@ public: std::string& flags, std::string& linkFlags, std::string& frameworkPath, std::string& linkPath, cmGeneratorTarget* target, bool useWatcomQuote); + void GetTargetDefines(cmGeneratorTarget const* target, + std::string const& config, std::string const& lang, + std::set<std::string>& defines) const; std::string GetFrameworkFlags(std::string const& l, std::string const& config, |