From 69251f75492a9bd1e3122e8e7ae7888e9c700a57 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 1 Sep 2009 10:37:37 -0400 Subject: Define 'multiplicity' for cyclic dependencies We create target property "LINK_INTERFACE_MULTIPLICITY" and a per-config version "LINK_INTERFACE_MULTIPLICITY_". 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. --- Source/cmTarget.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Source/cmTarget.h') 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 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 WrongConfigLibraries; + + LinkInterface(): Multiplicity(0) {} }; /** Get the link interface for the given configuration. Returns 0 -- cgit v1.2.1