summaryrefslogtreecommitdiffstats
path: root/Source/cmExportFileGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-09-01 14:37:37 (GMT)
committerBrad King <brad.king@kitware.com>2009-09-01 14:37:37 (GMT)
commit69251f75492a9bd1e3122e8e7ae7888e9c700a57 (patch)
tree2093785c45d7fb4601b1821d250658727711663b /Source/cmExportFileGenerator.cxx
parent78160cee6e38feb651478dbe859a491a807b9dbc (diff)
downloadCMake-69251f75492a9bd1e3122e8e7ae7888e9c700a57.zip
CMake-69251f75492a9bd1e3122e8e7ae7888e9c700a57.tar.gz
CMake-69251f75492a9bd1e3122e8e7ae7888e9c700a57.tar.bz2
Define 'multiplicity' for cyclic dependencies
We create target property "LINK_INTERFACE_MULTIPLICITY" and a per-config version "LINK_INTERFACE_MULTIPLICITY_<CONFIG>". It sets the number of times a linker should scan through a mutually dependent group of static libraries. The largest value of this property on any target in the group is used. This will help projects link even for extreme cases of cyclic inter-target dependencies.
Diffstat (limited to 'Source/cmExportFileGenerator.cxx')
-rw-r--r--Source/cmExportFileGenerator.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx
index 8c15a26..b8ef417 100644
--- a/Source/cmExportFileGenerator.cxx
+++ b/Source/cmExportFileGenerator.cxx
@@ -161,6 +161,14 @@ cmExportFileGenerator
this->SetImportLinkProperty(suffix, target,
"IMPORTED_LINK_DEPENDENT_LIBRARIES",
iface->SharedDeps, properties);
+ if(iface->Multiplicity > 0)
+ {
+ std::string prop = "IMPORTED_LINK_INTERFACE_MULTIPLICITY";
+ prop += suffix;
+ cmOStringStream m;
+ m << iface->Multiplicity;
+ properties[prop] = m.str();
+ }
}
}