diff options
author | Brad King <brad.king@kitware.com> | 2014-08-06 13:51:08 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-08-06 14:13:04 (GMT) |
commit | 3f476beaf7ffc20a27d97fbf04f6699791996f7f (patch) | |
tree | 33f348af0065d1c7b9ae6d8d0d3903a28ac9709f /Source/cmGeneratorExpressionEvaluator.cxx | |
parent | ebd8fa2256c9293b3887f6aeecc9aa7ee718137d (diff) | |
download | CMake-3f476beaf7ffc20a27d97fbf04f6699791996f7f.zip CMake-3f476beaf7ffc20a27d97fbf04f6699791996f7f.tar.gz CMake-3f476beaf7ffc20a27d97fbf04f6699791996f7f.tar.bz2 |
Genex: Do not consider 'head' when evaluating build properties
When $<TARGET_PROPERTY> names a build property like COMPILE_DEFINITIONS
but not the usage requirement (INTERFACE_) version of it, the value
should be that used to build the target. It should not be influenced by
a dependent 'head' target like usage requirements are.
Extend the CompileDefinitions test with a case covering the corrected
behavior.
Reviewed-by: Stephen Kelly <steveire@gmail.com>
Diffstat (limited to 'Source/cmGeneratorExpressionEvaluator.cxx')
-rw-r--r-- | Source/cmGeneratorExpressionEvaluator.cxx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx index 35a9fcb..1c9cfac 100644 --- a/Source/cmGeneratorExpressionEvaluator.cxx +++ b/Source/cmGeneratorExpressionEvaluator.cxx @@ -1081,7 +1081,7 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode } } #undef POPULATE_INTERFACE_PROPERTY_NAME - cmTarget const* headTarget = context->HeadTarget + cmTarget const* headTarget = context->HeadTarget && isInterfaceProperty ? context->HeadTarget : target; if(isInterfaceProperty) @@ -1103,7 +1103,7 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode { linkedTargetsContent = getLinkedTargetsContent(impl->Libraries, target, - headTarget, + target, context, &dagChecker, interfacePropertyName); } |