diff options
author | Stephen Kelly <steveire@gmail.com> | 2013-10-22 13:05:49 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2014-04-07 16:11:18 (GMT) |
commit | baff44345cff8e635766e020d316da514616c16e (patch) | |
tree | 5d5052e16ad545de670d3ec116a378297b2f482c /Source/cmTarget.cxx | |
parent | f97bf4370c283432c4e14fe54ed481d5d9b7ceef (diff) | |
download | CMake-baff44345cff8e635766e020d316da514616c16e.zip CMake-baff44345cff8e635766e020d316da514616c16e.tar.gz CMake-baff44345cff8e635766e020d316da514616c16e.tar.bz2 |
cmTarget: Allow populating COMPILE_FEATURES using generator expressions.
Delay validation of the content as a feature if it contains a
generator expression. It will be checked again at generate-time
after evaluation.
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r-- | Source/cmTarget.cxx | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 6f53009..09e3339 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -2617,6 +2617,22 @@ void cmTarget::GetCompileDefinitions(std::vector<std::string> &list, } //---------------------------------------------------------------------------- +void cmTarget::GetCompileFeatures(std::vector<std::string> &features) const +{ + assert(this->GetType() != INTERFACE_LIBRARY); + for(std::vector<cmTargetInternals::TargetPropertyEntry*>::const_iterator + si = this->Internal->CompileFeaturesEntries.begin(); + si != this->Internal->CompileFeaturesEntries.end(); ++si) + { + cmSystemTools::ExpandListArgument((*si)->ge->Evaluate(this->Makefile, + "", + false, + this), + features); + } +} + +//---------------------------------------------------------------------------- void cmTarget::MaybeInvalidatePropertyCache(const std::string& prop) { // Wipe out maps caching information affected by this property. |