diff options
author | Stephen Kelly <steveire@gmail.com> | 2015-09-16 02:45:43 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2015-10-10 09:14:31 (GMT) |
commit | f539da126b55933fae6f40feea35e820cb632877 (patch) | |
tree | 56dea90429885cde913f283475b8ef7a4d85cc01 /Source | |
parent | 1c5d70f9c2b9b7e2aeaf1515ef72a6e9282ecde0 (diff) | |
download | CMake-f539da126b55933fae6f40feea35e820cb632877.zip CMake-f539da126b55933fae6f40feea35e820cb632877.tar.gz CMake-f539da126b55933fae6f40feea35e820cb632877.tar.bz2 |
cmGeneratorTarget: Port GetLinkInterfaceLibraries away from cmTarget.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmGeneratorExpressionNode.cxx | 5 | ||||
-rw-r--r-- | Source/cmGeneratorTarget.cxx | 10 | ||||
-rw-r--r-- | Source/cmGeneratorTarget.h | 2 |
3 files changed, 10 insertions, 7 deletions
diff --git a/Source/cmGeneratorExpressionNode.cxx b/Source/cmGeneratorExpressionNode.cxx index fdacc82..78a5b6f 100644 --- a/Source/cmGeneratorExpressionNode.cxx +++ b/Source/cmGeneratorExpressionNode.cxx @@ -1109,8 +1109,11 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode if(isInterfaceProperty) { + cmGeneratorTarget* gHeadTarget = + context->Makefile->GetGlobalGenerator() + ->GetGeneratorTarget(headTarget); if(cmLinkInterfaceLibraries const* iface = - gtgt->GetLinkInterfaceLibraries(context->Config, headTarget, true)) + gtgt->GetLinkInterfaceLibraries(context->Config, gHeadTarget, true)) { linkedTargetsContent = getLinkedTargetsContent(iface->Libraries, target, diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index 71506d1..99d1013 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -2058,7 +2058,7 @@ void processILibs(const std::string& config, tgts.push_back(item.Target); cmGeneratorTarget* gt = gg->GetGeneratorTarget(item.Target); if(cmLinkInterfaceLibraries const* iface = - gt->GetLinkInterfaceLibraries(config, headTarget->Target, true)) + gt->GetLinkInterfaceLibraries(config, headTarget, true)) { for(std::vector<cmLinkItem>::const_iterator it = iface->Libraries.begin(); @@ -4592,13 +4592,13 @@ void cmGeneratorTarget::ComputeLinkInterface(const std::string& config, //---------------------------------------------------------------------------- const cmLinkInterfaceLibraries * cmGeneratorTarget::GetLinkInterfaceLibraries(const std::string& config, - cmTarget const* head, + cmGeneratorTarget const* head, bool usage_requirements_only) const { // Imported targets have their own link interface. if(this->IsImported()) { - return this->GetImportLinkInterface(config, head, + return this->GetImportLinkInterface(config, head->Target, usage_requirements_only); } @@ -4624,12 +4624,12 @@ cmGeneratorTarget::GetLinkInterfaceLibraries(const std::string& config, return &hm.begin()->second; } - cmOptionalLinkInterface& iface = hm[head]; + cmOptionalLinkInterface& iface = hm[head->Target]; if(!iface.LibrariesDone) { iface.LibrariesDone = true; this->ComputeLinkInterfaceLibraries( - config, iface, head, usage_requirements_only); + config, iface, head->Target, usage_requirements_only); } return iface.Exists? &iface : 0; diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h index 49de632..c36117d 100644 --- a/Source/cmGeneratorTarget.h +++ b/Source/cmGeneratorTarget.h @@ -116,7 +116,7 @@ public: cmLinkInterfaceLibraries const* GetLinkInterfaceLibraries(const std::string& config, - cmTarget const* headTarget, + const cmGeneratorTarget* headTarget, bool usage_requirements_only) const; void ComputeLinkInterfaceLibraries(const std::string& config, |