Fix DAG checker finding cycling dependencies.
Before this patch, the following is reported falsely as a self-reference: target_link_libraries(empty2 LINK_PUBLIC empty3) target_link_libraries(empty3 LINK_PUBLIC empty2) add_custom_target(... -DINCLUDES=$<TARGET_PROPERTY:empty2,INTERFACE_INCLUDE_DIRECTORIES> ) The reason is that the existing code assumed that all reading of include directories would be done through cmTarget::GetIncludeDirectories() and would therefore be initialized with a DagChecker. That is not the case if reading the property with an 'external' generator expression.
This commit is contained in:
parent
e72eaadc42
commit
d1a2729b1a
|
@ -126,7 +126,7 @@ cmGeneratorExpressionDAGChecker::checkGraph() const
|
||||||
{
|
{
|
||||||
if (this->Target == parent->Target && this->Property == parent->Property)
|
if (this->Target == parent->Target && this->Property == parent->Property)
|
||||||
{
|
{
|
||||||
return parent->Parent ? CYCLIC_REFERENCE : SELF_REFERENCE;
|
return (parent == this->Parent) ? SELF_REFERENCE : CYCLIC_REFERENCE;
|
||||||
}
|
}
|
||||||
parent = parent->Parent;
|
parent = parent->Parent;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue