ENH: Simplify link lines in some cases by not allowing targets to be inferred dependees of items with unknown dependencies.
This commit is contained in:
parent
cbdc1d6e19
commit
bd09f6eabc
|
@ -100,6 +100,9 @@ For the unknown items, we infer dependencies by looking at the
|
||||||
B: intersect( {Y,C} , {} ) = {} ; infer no edges
|
B: intersect( {Y,C} , {} ) = {} ; infer no edges
|
||||||
C: intersect( {} , {B} ) = {} ; infer no edges
|
C: intersect( {} , {B} ) = {} ; infer no edges
|
||||||
|
|
||||||
|
Note that targets are never inferred as dependees because outside
|
||||||
|
libraries should not depend on them.
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
Once the complete graph is formed from all known and inferred
|
Once the complete graph is formed from all known and inferred
|
||||||
|
@ -548,7 +551,12 @@ cmComputeLinkDepends::AddLinkEntries(int depender_index,
|
||||||
for(std::map<int, DependSet>::iterator dsi = dependSets.begin();
|
for(std::map<int, DependSet>::iterator dsi = dependSets.begin();
|
||||||
dsi != dependSets.end(); ++dsi)
|
dsi != dependSets.end(); ++dsi)
|
||||||
{
|
{
|
||||||
if(dependee_index != dsi->first)
|
// Add this item to the inferred dependencies of other items.
|
||||||
|
// Target items are never inferred dependees because unknown
|
||||||
|
// items are outside libraries that should not be depending on
|
||||||
|
// targets.
|
||||||
|
if(!this->EntryList[dependee_index].Target &&
|
||||||
|
dependee_index != dsi->first)
|
||||||
{
|
{
|
||||||
dsi->second.insert(dependee_index);
|
dsi->second.insert(dependee_index);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue