summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.h
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/cmTarget.h
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/cmTarget.h')
-rw-r--r--Source/cmTarget.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index e0118fc..7b8c2ba 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -249,9 +249,15 @@ public:
// Shared library dependencies needed for linking on some platforms.
std::vector<std::string> SharedDeps;
+ // Number of repetitions of a strongly connected component of two
+ // or more static libraries.
+ int Multiplicity;
+
// Libraries listed for other configurations.
// Needed only for OLD behavior of CMP0003.
std::vector<std::string> WrongConfigLibraries;
+
+ LinkInterface(): Multiplicity(0) {}
};
/** Get the link interface for the given configuration. Returns 0