diff options
author | Brad King <brad.king@kitware.com> | 2010-08-25 14:07:25 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2010-08-25 21:10:00 (GMT) |
commit | 681cf011dde81c08c0404569289110f9585c6daf (patch) | |
tree | 63c7bab28a00c110e4946d13aeb168c5d1fa66bf /Source/cmComputeComponentGraph.cxx | |
parent | 7be2617b5a52529ce0ca33e6c878a0294e1e2781 (diff) | |
download | CMake-681cf011dde81c08c0404569289110f9585c6daf.zip CMake-681cf011dde81c08c0404569289110f9585c6daf.tar.gz CMake-681cf011dde81c08c0404569289110f9585c6daf.tar.bz2 |
Distinguish "strong" and "weak" target dependency edges
Utility dependencies are "strong" because they must be enforced to
generate a working build. Link dependencies are "weak" because they can
be broken in the case of a static library cycle.
Diffstat (limited to 'Source/cmComputeComponentGraph.cxx')
-rw-r--r-- | Source/cmComputeComponentGraph.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/cmComputeComponentGraph.cxx b/Source/cmComputeComponentGraph.cxx index 165af10..5bec6a1 100644 --- a/Source/cmComputeComponentGraph.cxx +++ b/Source/cmComputeComponentGraph.cxx @@ -149,7 +149,10 @@ void cmComputeComponentGraph::TransferEdges() int j_component = this->TarjanComponents[j]; if(i_component != j_component) { - this->ComponentGraph[i_component].push_back(j_component); + // We do not attempt to combine duplicate edges, but instead + // store the inter-component edges with suitable multiplicity. + this->ComponentGraph[i_component].push_back( + cmGraphEdge(j_component, ni->IsStrong())); } } } |