Commit 922c8901 authored by Stephen Kelly's avatar Stephen Kelly
Browse files

cmGeneratorTarget: Port GetLinkInterface away from cmTarget.

parent eaa5b9cb
......@@ -365,7 +365,7 @@ void cmComputeLinkDepends::FollowLinkEntry(BFSEntry const& qe)
{
// Follow the target dependencies.
if(cmLinkInterface const* iface =
entry.Target->GetLinkInterface(this->Config, this->Target->Target))
entry.Target->GetLinkInterface(this->Config, this->Target))
{
const bool isIface =
entry.Target->GetType() == cmTarget::INTERFACE_LIBRARY;
......@@ -465,7 +465,7 @@ void cmComputeLinkDepends::HandleSharedDependency(SharedDepEntry const& dep)
if(entry.Target)
{
if(cmLinkInterface const* iface =
entry.Target->GetLinkInterface(this->Config, this->Target->Target))
entry.Target->GetLinkInterface(this->Config, this->Target))
{
// Follow public and private dependencies transitively.
this->FollowSharedDeps(index, iface, true);
......@@ -937,7 +937,7 @@ int cmComputeLinkDepends::ComputeComponentCount(NodeList const& nl)
if(cmGeneratorTarget const* target = this->EntryList[*ni].Target)
{
if(cmLinkInterface const* iface =
target->GetLinkInterface(this->Config, this->Target->Target))
target->GetLinkInterface(this->Config, this->Target))
{
if(iface->Multiplicity > count)
{
......
......@@ -297,7 +297,7 @@ void cmComputeTargetDepends::AddInterfaceDepends(int depender_index,
cmGeneratorTarget const* depender = this->Targets[depender_index];
if(cmLinkInterface const* iface =
dependee->GetLinkInterface(config,
depender->Target))
depender))
{
for(std::vector<cmLinkItem>::const_iterator
lib = iface->Libraries.begin();
......
......@@ -799,7 +799,7 @@ cmExportFileGenerator
{
// Add the transitive link dependencies for this configuration.
cmLinkInterface const* iface = target->GetLinkInterface(config,
target->Target);
target);
if (!iface)
{
return;
......@@ -911,7 +911,7 @@ cmExportFileGenerator
// Add the transitive link dependencies for this configuration.
if(cmLinkInterface const* iface =
target->GetLinkInterface(config, target->Target))
target->GetLinkInterface(config, target))
{
this->SetImportLinkProperty(suffix, target,
"IMPORTED_LINK_INTERFACE_LANGUAGES",
......
......@@ -1719,7 +1719,7 @@ public:
this->Target->GetLocalGenerator()->GetGlobalGenerator()
->GetGeneratorTarget(item.Target);
cmLinkInterface const* iface =
gtgt->GetLinkInterface(this->Config, this->HeadTarget->Target);
gtgt->GetLinkInterface(this->Config, this->HeadTarget);
if(!iface) { return; }
for(std::vector<std::string>::const_iterator
......@@ -4446,12 +4446,12 @@ void cmGeneratorTarget::ExpandLinkItems(std::string const& prop,
//----------------------------------------------------------------------------
cmLinkInterface const*
cmGeneratorTarget::GetLinkInterface(const std::string& config,
cmTarget const* head) const
cmGeneratorTarget const* head) const
{
// Imported targets have their own link interface.
if(this->IsImported())
{
return this->GetImportLinkInterface(config, head, false);
return this->GetImportLinkInterface(config, head->Target, false);
}
// Link interfaces are not supported for executables that do not
......@@ -4473,19 +4473,19 @@ cmGeneratorTarget::GetLinkInterface(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, false);
config, iface, head->Target, false);
}
if(!iface.AllDone)
{
iface.AllDone = true;
if(iface.Exists)
{
this->ComputeLinkInterface(config, iface, head);
this->ComputeLinkInterface(config, iface, head->Target);
}
}
......
......@@ -109,7 +109,7 @@ public:
const std::string& config) const;
cmLinkInterface const* GetLinkInterface(const std::string& config,
cmTarget const* headTarget) const;
const cmGeneratorTarget* headTarget) const;
void ComputeLinkInterface(const std::string& config,
cmOptionalLinkInterface& iface,
cmTarget const* head) const;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment