cmGeneratorTarget: Port GetImportLinkInterface away from cmTarget.

This commit is contained in:
Stephen Kelly 2015-09-16 05:07:06 +02:00
parent 83c29e3903
commit c66084f5d7
2 changed files with 7 additions and 6 deletions

View File

@ -4451,7 +4451,7 @@ cmGeneratorTarget::GetLinkInterface(const std::string& config,
// Imported targets have their own link interface. // Imported targets have their own link interface.
if(this->IsImported()) if(this->IsImported())
{ {
return this->GetImportLinkInterface(config, head->Target, false); return this->GetImportLinkInterface(config, head, false);
} }
// Link interfaces are not supported for executables that do not // Link interfaces are not supported for executables that do not
@ -4599,7 +4599,7 @@ cmGeneratorTarget::GetLinkInterfaceLibraries(const std::string& config,
// Imported targets have their own link interface. // Imported targets have their own link interface.
if(this->IsImported()) if(this->IsImported())
{ {
return this->GetImportLinkInterface(config, head->Target, return this->GetImportLinkInterface(config, head,
usage_requirements_only); usage_requirements_only);
} }
@ -5040,7 +5040,7 @@ cmGeneratorTarget::ComputeLinkInterfaceLibraries(
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
const cmLinkInterface * const cmLinkInterface *
cmGeneratorTarget::GetImportLinkInterface(const std::string& config, cmGeneratorTarget::GetImportLinkInterface(const std::string& config,
cmTarget const* headTarget, cmGeneratorTarget const* headTarget,
bool usage_requirements_only) const bool usage_requirements_only) const
{ {
cmTarget::ImportInfo const* info = this->Target->GetImportInfo(config); cmTarget::ImportInfo const* info = this->Target->GetImportInfo(config);
@ -5062,7 +5062,7 @@ cmGeneratorTarget::GetImportLinkInterface(const std::string& config,
return &hm.begin()->second; return &hm.begin()->second;
} }
cmOptionalLinkInterface& iface = hm[headTarget]; cmOptionalLinkInterface& iface = hm[headTarget->Target];
if(!iface.AllDone) if(!iface.AllDone)
{ {
iface.AllDone = true; iface.AllDone = true;
@ -5070,7 +5070,7 @@ cmGeneratorTarget::GetImportLinkInterface(const std::string& config,
cmSystemTools::ExpandListArgument(info->Languages, iface.Languages); cmSystemTools::ExpandListArgument(info->Languages, iface.Languages);
this->ExpandLinkItems(info->LibrariesProp, info->Libraries, this->ExpandLinkItems(info->LibrariesProp, info->Libraries,
config, config,
headTarget, usage_requirements_only, headTarget->Target, usage_requirements_only,
iface.Libraries, iface.Libraries,
iface.HadHeadSensitiveCondition); iface.HadHeadSensitiveCondition);
std::vector<std::string> deps; std::vector<std::string> deps;

View File

@ -491,7 +491,8 @@ private:
std::string const& config) const; std::string const& config) const;
cmLinkInterface const* cmLinkInterface const*
GetImportLinkInterface(const std::string& config, cmTarget const* head, GetImportLinkInterface(const std::string& config,
const cmGeneratorTarget* head,
bool usage_requirements_only) const; bool usage_requirements_only) const;
typedef std::map<std::string, std::vector<cmSourceFile*> > typedef std::map<std::string, std::vector<cmSourceFile*> >