diff options
author | Stephen Kelly <steveire@gmail.com> | 2012-12-26 02:40:49 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-01-29 19:11:49 (GMT) |
commit | 0e10782ba795050e1ea82530d79c323f60478df4 (patch) | |
tree | b6d8b92725537591b13f0f7a439008f5516178cf /Source/cmTarget.cxx | |
parent | 21fc6c46df7f2271d7baace04f239f031785b917 (diff) | |
download | CMake-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.cxx | 29 |
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. |