diff options
author | Brad King <brad.king@kitware.com> | 2014-06-19 17:39:25 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-07-07 12:52:41 (GMT) |
commit | f77b384cf6a4e9206e6067b7bfe0677a962268c4 (patch) | |
tree | 198d0463dec1c09c7bf98cccd20209b661eacc72 /Source | |
parent | 61ef8daad5d15256daec08eeb0437fdece330001 (diff) | |
download | CMake-f77b384cf6a4e9206e6067b7bfe0677a962268c4.zip CMake-f77b384cf6a4e9206e6067b7bfe0677a962268c4.tar.gz CMake-f77b384cf6a4e9206e6067b7bfe0677a962268c4.tar.bz2 |
cmTarget: Simplify INTERFACE_COMPILE_FEATURES usage requirement lookup
Use the AddInterfaceEntries helper to avoid duplication.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmTarget.cxx | 42 |
1 files changed, 3 insertions, 39 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index e35167e..98a9920 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -2615,45 +2615,9 @@ void cmTarget::GetCompileFeatures(std::vector<std::string> &result, if (!this->Internal->CacheLinkInterfaceCompileFeaturesDone[config]) { - for (std::vector<cmValueWithOrigin>::const_iterator - it = this->Internal->LinkImplementationPropertyEntries.begin(), - end = this->Internal->LinkImplementationPropertyEntries.end(); - it != end; ++it) - { - if (!cmGeneratorExpression::IsValidTargetName(it->Value) - && cmGeneratorExpression::Find(it->Value) == std::string::npos) - { - continue; - } - { - cmGeneratorExpression ge; - cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = - ge.Parse(it->Value); - std::string targetResult = cge->Evaluate(this->Makefile, config, - false, this, 0, 0); - if (!this->Makefile->FindTargetToUse(targetResult)) - { - continue; - } - } - std::string featureGenex = "$<TARGET_PROPERTY:" + - it->Value + ",INTERFACE_COMPILE_FEATURES>"; - if (cmGeneratorExpression::Find(it->Value) != std::string::npos) - { - // Because it->Value is a generator expression, ensure that it - // evaluates to the non-empty string before being used in the - // TARGET_PROPERTY expression. - featureGenex = "$<$<BOOL:" + it->Value + ">:" + featureGenex + ">"; - } - cmGeneratorExpression ge(&it->Backtrace); - cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse( - featureGenex); - - this->Internal - ->CachedLinkInterfaceCompileFeaturesEntries[config].push_back( - new cmTargetInternals::TargetPropertyEntry(cge, - it->Value)); - } + this->Internal->AddInterfaceEntries( + this, config, "INTERFACE_COMPILE_FEATURES", + this->Internal->CachedLinkInterfaceCompileFeaturesEntries[config]); } processCompileFeatures(this, |