summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2012-09-20 21:28:09 (GMT)
committerBrad King <brad.king@kitware.com>2012-09-28 12:50:16 (GMT)
commit083de7ed35b26dceff6edeb4fc8f9d2500855a9b (patch)
tree4b7a4812445c850a5544c503a6bd454991f9f142 /Source/cmGeneratorTarget.cxx
parent08cb4fa4c0378468fc2757666701617f6fe8270e (diff)
downloadCMake-083de7ed35b26dceff6edeb4fc8f9d2500855a9b.zip
CMake-083de7ed35b26dceff6edeb4fc8f9d2500855a9b.tar.gz
CMake-083de7ed35b26dceff6edeb4fc8f9d2500855a9b.tar.bz2
Process generator expressions in the COMPILE_DEFINITIONS target property.
Diffstat (limited to 'Source/cmGeneratorTarget.cxx')
-rw-r--r--Source/cmGeneratorTarget.cxx17
1 files changed, 16 insertions, 1 deletions
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 9093613..d4b57f4 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -342,5 +342,20 @@ std::string cmGeneratorTarget::GetCompileDefinitions(const char *config)
const char *prop = this->Target->GetProperty(defPropName.c_str());
- return prop ? prop : "";
+ 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);
}