diff options
author | Stephen Kelly <steveire@gmail.com> | 2014-05-11 14:04:53 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2014-07-01 22:09:38 (GMT) |
commit | 61ce6547424821710d0fbebf06b0eb411a630253 (patch) | |
tree | 157f3f2e3a30bdbda660a91c6c751f3dad7c1957 /Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle5-result.txt | |
parent | bf5fc1d5829e7995c0941996b4a515cbd46d4e4e (diff) | |
download | CMake-61ce6547424821710d0fbebf06b0eb411a630253.zip CMake-61ce6547424821710d0fbebf06b0eb411a630253.tar.gz CMake-61ce6547424821710d0fbebf06b0eb411a630253.tar.bz2 |
Genex: Fix stack overflow in transitive property evaluation.
Commit v2.8.11~156^2~2 (Expand includes and defines transitively
in 'external' genexes., 2013-02-13) introduced a recursive loop
and a stack overflow during evaluation of a link implementation
which depends on a transitive property, such as
add_library(empty1 ...)
add_library(empty2 ...)
target_link_libraries(empty1
PRIVATE
$<$<STREQUAL:$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>,/foo/bar>:empty2>
)
There is no use-case for code like that currently, but it should not
cause a stack overflow.
Avoid the recursion by reporting an error early if a case like this
is found.
Diffstat (limited to 'Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle5-result.txt')
-rw-r--r-- | Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle5-result.txt | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle5-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle5-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle5-result.txt @@ -0,0 +1 @@ +1 |