summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2012-12-26 02:40:49 (GMT)
committerBrad King <brad.king@kitware.com>2013-01-29 19:11:49 (GMT)
commit0e10782ba795050e1ea82530d79c323f60478df4 (patch)
treeb6d8b92725537591b13f0f7a439008f5516178cf /Source/cmTarget.cxx
parent21fc6c46df7f2271d7baace04f239f031785b917 (diff)
downloadCMake-0e10782ba795050e1ea82530d79c323f60478df4.zip
CMake-0e10782ba795050e1ea82530d79c323f60478df4.tar.gz
CMake-0e10782ba795050e1ea82530d79c323f60478df4.tar.bz2
Move GetCompileDefinitions to cmTarget.
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r--Source/cmTarget.cxx29
1 files changed, 29 insertions, 0 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 2b912f3..9fd2d13 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -2804,6 +2804,35 @@ std::vector<std::string> cmTarget::GetIncludeDirectories(const char *config)
}
//----------------------------------------------------------------------------
+std::string cmTarget::GetCompileDefinitions(const char *config)
+{
+ std::string defPropName = "COMPILE_DEFINITIONS";
+ if (config)
+ {
+ defPropName += "_" + cmSystemTools::UpperCase(config);
+ }
+
+ const char *prop = this->GetProperty(defPropName.c_str());
+
+ if (!prop)
+ {
+ return "";
+ }
+
+ cmListFileBacktrace lfbt;
+ cmGeneratorExpression ge(lfbt);
+
+ cmGeneratorExpressionDAGChecker dagChecker(lfbt,
+ this->GetName(),
+ defPropName, 0, 0);
+ return ge.Parse(prop)->Evaluate(this->Makefile,
+ config,
+ false,
+ this,
+ &dagChecker);
+}
+
+//----------------------------------------------------------------------------
void cmTarget::MaybeInvalidatePropertyCache(const char* prop)
{
// Wipe out maps caching information affected by this property.