summaryrefslogtreecommitdiffstats
path: root/Source/cmCommonTargetGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-07-09 14:10:25 (GMT)
committerBrad King <brad.king@kitware.com>2015-07-09 14:10:25 (GMT)
commiteacacacdceb4a259ba76edb2219c7f8e6cb3f47e (patch)
treeaa6c145f2aaecb57c3d50e0c61cb0c6233610cca /Source/cmCommonTargetGenerator.cxx
parent0837538e461cfdbc5c673d7f2bf64f6631099bdf (diff)
downloadCMake-eacacacdceb4a259ba76edb2219c7f8e6cb3f47e.zip
CMake-eacacacdceb4a259ba76edb2219c7f8e6cb3f47e.tar.gz
CMake-eacacacdceb4a259ba76edb2219c7f8e6cb3f47e.tar.bz2
cmCommonTargetGenerator: Adopt GetDefines method
Move the member up from cmMakefileTargetGenerator so it can be re-used later by cmNinjaTargetGenerator.
Diffstat (limited to 'Source/cmCommonTargetGenerator.cxx')
-rw-r--r--Source/cmCommonTargetGenerator.cxx26
1 files changed, 26 insertions, 0 deletions
diff --git a/Source/cmCommonTargetGenerator.cxx b/Source/cmCommonTargetGenerator.cxx
index 70e9ce2..ce351ee 100644
--- a/Source/cmCommonTargetGenerator.cxx
+++ b/Source/cmCommonTargetGenerator.cxx
@@ -332,3 +332,29 @@ std::string cmCommonTargetGenerator::GetFlags(const std::string &l)
}
return i->second;
}
+
+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->Target->GetExportMacro())
+ {
+ this->LocalGenerator->AppendDefines(defines, exportMacro);
+ }
+
+ // Add preprocessor definitions for this target and configuration.
+ this->LocalGenerator->AddCompileDefinitions(defines, this->Target,
+ this->LocalGenerator->GetConfigName(), l);
+
+ std::string definesString;
+ this->LocalGenerator->JoinDefines(defines, definesString, lang);
+
+ ByLanguageMap::value_type entry(l, definesString);
+ i = this->DefinesByLanguage.insert(entry).first;
+ }
+ return i->second;
+}