summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-10-22 13:05:49 (GMT)
committerStephen Kelly <steveire@gmail.com>2014-04-07 16:11:18 (GMT)
commitbaff44345cff8e635766e020d316da514616c16e (patch)
tree5d5052e16ad545de670d3ec116a378297b2f482c /Source/cmTarget.cxx
parentf97bf4370c283432c4e14fe54ed481d5d9b7ceef (diff)
downloadCMake-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.cxx16
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.