summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-06-30 15:39:09 (GMT)
committerBrad King <brad.king@kitware.com>2014-07-07 12:52:41 (GMT)
commit5e07dcf7c8e884380e1ad5ab64ba3bcdef601eee (patch)
treee7f62c4b0ff70fd6844eaa784dae806d5681dab3 /Source/cmTarget.cxx
parentf77b384cf6a4e9206e6067b7bfe0677a962268c4 (diff)
downloadCMake-5e07dcf7c8e884380e1ad5ab64ba3bcdef601eee.zip
CMake-5e07dcf7c8e884380e1ad5ab64ba3bcdef601eee.tar.gz
CMake-5e07dcf7c8e884380e1ad5ab64ba3bcdef601eee.tar.bz2
cmTarget: Add to LinkImplementation whether each library was a genex
Implementation of CMP0027 OLD behavior needs to know whether each entry in LinkImplementation::Libraries came from a generator expression or not. Add a FromGenex member to cmLinkImplItem to record this.
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r--Source/cmTarget.cxx12
1 files changed, 5 insertions, 7 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 98a9920..9ba8456 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -6509,12 +6509,9 @@ void cmTarget::ComputeLinkImplementation(const std::string& config,
cmGeneratorExpression ge(&le->Backtrace);
cmsys::auto_ptr<cmCompiledGeneratorExpression> const cge =
ge.Parse(le->Value);
- cmSystemTools::ExpandListArgument(cge->Evaluate(this->Makefile,
- config,
- false,
- head,
- &dagChecker),
- llibs);
+ std::string const evaluated =
+ cge->Evaluate(this->Makefile, config, false, head, &dagChecker);
+ cmSystemTools::ExpandListArgument(evaluated, llibs);
for(std::vector<std::string>::const_iterator li = llibs.begin();
li != llibs.end(); ++li)
@@ -6562,7 +6559,8 @@ void cmTarget::ComputeLinkImplementation(const std::string& config,
// The entry is meant for this configuration.
impl.Libraries.push_back(
- cmLinkImplItem(name, this->FindTargetToLink(name), le->Backtrace));
+ cmLinkImplItem(name, this->FindTargetToLink(name),
+ le->Backtrace, evaluated != le->Value));
}
std::set<std::string> const& seenProps = cge->GetSeenTargetProperties();