Split LINK_INTERFACE_LIBRARIES export handling into dedicated method.
This commit is contained in:
parent
a3aedb8152
commit
94aeaf72c7
@ -107,6 +107,10 @@ cmExportBuildFileGenerator
|
|||||||
std::vector<std::string> missingTargets;
|
std::vector<std::string> missingTargets;
|
||||||
this->SetImportDetailProperties(config, suffix,
|
this->SetImportDetailProperties(config, suffix,
|
||||||
target, properties, missingTargets);
|
target, properties, missingTargets);
|
||||||
|
this->SetImportLinkInterface(config, suffix,
|
||||||
|
cmGeneratorExpression::BuildInterface,
|
||||||
|
target, properties, missingTargets);
|
||||||
|
|
||||||
|
|
||||||
// TOOD: PUBLIC_HEADER_LOCATION
|
// TOOD: PUBLIC_HEADER_LOCATION
|
||||||
// This should wait until the build feature propagation stuff
|
// This should wait until the build feature propagation stuff
|
||||||
|
@ -344,6 +344,26 @@ cmExportFileGenerator::ResolveTargetsInGeneratorExpression(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
void
|
||||||
|
cmExportFileGenerator
|
||||||
|
::SetImportLinkInterface(const char* config, std::string const& suffix,
|
||||||
|
cmGeneratorExpression::PreprocessContext preprocessRule,
|
||||||
|
cmTarget* target, ImportPropertyMap& properties,
|
||||||
|
std::vector<std::string>& missingTargets)
|
||||||
|
{
|
||||||
|
// Add the transitive link dependencies for this configuration.
|
||||||
|
cmTarget::LinkInterface const* iface = target->GetLinkInterface(config,
|
||||||
|
target);
|
||||||
|
if (!iface)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this->SetImportLinkProperty(suffix, target,
|
||||||
|
"IMPORTED_LINK_INTERFACE_LIBRARIES",
|
||||||
|
iface->Libraries, properties, missingTargets);
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
void
|
void
|
||||||
cmExportFileGenerator
|
cmExportFileGenerator
|
||||||
@ -388,9 +408,7 @@ cmExportFileGenerator
|
|||||||
this->SetImportLinkProperty(suffix, target,
|
this->SetImportLinkProperty(suffix, target,
|
||||||
"IMPORTED_LINK_INTERFACE_LANGUAGES",
|
"IMPORTED_LINK_INTERFACE_LANGUAGES",
|
||||||
iface->Languages, properties, missingTargets);
|
iface->Languages, properties, missingTargets);
|
||||||
this->SetImportLinkProperty(suffix, target,
|
|
||||||
"IMPORTED_LINK_INTERFACE_LIBRARIES",
|
|
||||||
iface->Libraries, properties, missingTargets);
|
|
||||||
this->SetImportLinkProperty(suffix, target,
|
this->SetImportLinkProperty(suffix, target,
|
||||||
"IMPORTED_LINK_DEPENDENT_LIBRARIES",
|
"IMPORTED_LINK_DEPENDENT_LIBRARIES",
|
||||||
iface->SharedDeps, properties, missingTargets);
|
iface->SharedDeps, properties, missingTargets);
|
||||||
|
@ -102,6 +102,10 @@ protected:
|
|||||||
void GenerateInterfaceProperties(cmTarget *target, std::ostream& os,
|
void GenerateInterfaceProperties(cmTarget *target, std::ostream& os,
|
||||||
const ImportPropertyMap &properties);
|
const ImportPropertyMap &properties);
|
||||||
|
|
||||||
|
void SetImportLinkInterface(const char* config, std::string const& suffix,
|
||||||
|
cmGeneratorExpression::PreprocessContext preprocessRule,
|
||||||
|
cmTarget* target, ImportPropertyMap& properties,
|
||||||
|
std::vector<std::string>& missingTargets);
|
||||||
|
|
||||||
enum FreeTargetsReplace {
|
enum FreeTargetsReplace {
|
||||||
ReplaceFreeTargets,
|
ReplaceFreeTargets,
|
||||||
|
@ -229,6 +229,10 @@ cmExportInstallFileGenerator
|
|||||||
this->SetImportDetailProperties(config, suffix,
|
this->SetImportDetailProperties(config, suffix,
|
||||||
te->Target, properties, missingTargets);
|
te->Target, properties, missingTargets);
|
||||||
|
|
||||||
|
this->SetImportLinkInterface(config, suffix,
|
||||||
|
cmGeneratorExpression::InstallInterface,
|
||||||
|
te->Target, properties, missingTargets);
|
||||||
|
|
||||||
// TOOD: PUBLIC_HEADER_LOCATION
|
// TOOD: PUBLIC_HEADER_LOCATION
|
||||||
// This should wait until the build feature propagation stuff
|
// This should wait until the build feature propagation stuff
|
||||||
// is done. Then this can be a propagated include directory.
|
// is done. Then this can be a propagated include directory.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user