CMake/Tests/RunCMake/TargetPropertyGeneratorExpr...
Stephen Kelly 61ce654742 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.
2014-07-02 00:09:38 +02:00
..
BadInvalidName1-result.txt
BadInvalidName1-stderr.txt
BadInvalidName1.cmake
BadInvalidName2-result.txt
BadInvalidName2-stderr.txt
BadInvalidName2.cmake
BadInvalidName3-result.txt
BadInvalidName3-stderr.txt
BadInvalidName3.cmake
BadInvalidName4-result.txt
BadInvalidName4-stderr.txt
BadInvalidName4.cmake
BadInvalidName5-result.txt
BadInvalidName5-stderr.txt
BadInvalidName5.cmake
BadInvalidName6-result.txt
BadInvalidName6-stderr.txt
BadInvalidName6.cmake
BadInvalidName7-result.txt
BadInvalidName7-stderr.txt
BadInvalidName7.cmake
BadInvalidName8-result.txt
BadInvalidName8-stderr.txt
BadInvalidName8.cmake
BadNonTarget-result.txt
BadNonTarget-stderr.txt
BadNonTarget.cmake
BadSelfReference1-result.txt
BadSelfReference1-stderr.txt
BadSelfReference1.cmake
BadSelfReference2-result.txt
BadSelfReference2-stderr.txt
BadSelfReference2.cmake
BadSelfReference3-result.txt
BadSelfReference3-stderr.txt
BadSelfReference3.cmake
BadSelfReference4-result.txt
BadSelfReference4-stderr.txt
BadSelfReference4.cmake
BadSelfReference5-result.txt
BadSelfReference5-stderr.txt
BadSelfReference5.cmake
BadSelfReference6-result.txt
BadSelfReference6-stderr.txt
BadSelfReference6.cmake
CMakeLists.txt
LinkImplementationCycle1-result.txt Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle1-stderr.txt Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle1.cmake Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle2-result.txt Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle2-stderr.txt Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle2.cmake Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle3-result.txt Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle3-stderr.txt Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle3.cmake Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle4-result.txt Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle4-stderr.txt Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle4.cmake Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle5-result.txt Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle5-stderr.txt Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle5.cmake Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle6-result.txt Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle6-stderr.txt Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
LinkImplementationCycle6.cmake Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
RunCMakeTest.cmake Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00
empty.cpp Genex: Fix stack overflow in transitive property evaluation. 2014-07-02 00:09:38 +02:00