summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorExpressionDAGChecker.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-02-18 10:08:24 (GMT)
committerStephen Kelly <steveire@gmail.com>2013-02-23 08:42:06 (GMT)
commitd1a2729b1af86a0a3abfb21df18ed85bcfaa59c6 (patch)
treef859e501fe918d2ada3e2f5cb645e27da0b3d54e /Source/cmGeneratorExpressionDAGChecker.cxx
parente72eaadc42be80ef8273addfc19a6dd13b5feb90 (diff)
downloadCMake-d1a2729b1af86a0a3abfb21df18ed85bcfaa59c6.zip
CMake-d1a2729b1af86a0a3abfb21df18ed85bcfaa59c6.tar.gz
CMake-d1a2729b1af86a0a3abfb21df18ed85bcfaa59c6.tar.bz2
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.
Diffstat (limited to 'Source/cmGeneratorExpressionDAGChecker.cxx')
-rw-r--r--Source/cmGeneratorExpressionDAGChecker.cxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/Source/cmGeneratorExpressionDAGChecker.cxx b/Source/cmGeneratorExpressionDAGChecker.cxx
index 57e7358..2d50c25 100644
--- a/Source/cmGeneratorExpressionDAGChecker.cxx
+++ b/Source/cmGeneratorExpressionDAGChecker.cxx
@@ -126,7 +126,7 @@ cmGeneratorExpressionDAGChecker::checkGraph() const
{
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;
}