summaryrefslogtreecommitdiff
path: root/Source/cmTarget.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-09-01 10:37:37 -0400
committerBrad King <brad.king@kitware.com>2009-09-01 10:37:37 -0400
commit69251f75492a9bd1e3122e8e7ae7888e9c700a57 (patch)
tree2093785c45d7fb4601b1821d250658727711663b /Source/cmTarget.h
parent78160cee6e38feb651478dbe859a491a807b9dbc (diff)
downloadcmake-69251f75492a9bd1e3122e8e7ae7888e9c700a57.tar.gz
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 e0118fcdcb..7b8c2ba806 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