summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmTarget.cxx20
1 files changed, 6 insertions, 14 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 32948cd..c4fd924 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -6235,24 +6235,16 @@ void cmTarget::GetTransitivePropertyTargets(const std::string& config,
}
// The interface libraries have been explicitly set.
- cmGeneratorExpression ge;
- cmGeneratorExpressionDAGChecker dagChecker(this->GetName(),
- linkIfaceProp, 0, 0);
- dagChecker.SetTransitivePropertiesOnly();
- std::vector<std::string> libs;
- cmSystemTools::ExpandListArgument(ge.Parse(interfaceLibs)->Evaluate(
- this->Makefile,
- config,
- false,
- headTarget,
- this, &dagChecker), libs);
+ std::vector<cmLinkItem> libs;
+ this->ExpandLinkItems(linkIfaceProp, interfaceLibs, config,
+ headTarget, true, libs);
- for(std::vector<std::string>::const_iterator it = libs.begin();
+ for(std::vector<cmLinkItem>::const_iterator it = libs.begin();
it != libs.end(); ++it)
{
- if (cmTarget const* tgt = this->FindTargetToLink(*it))
+ if (it->Target)
{
- tgts.push_back(tgt);
+ tgts.push_back(it->Target);
}
}
}