mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-15 19:50:31 -06:00
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.
11 lines
406 B
Plaintext
11 lines
406 B
Plaintext
CMake Error at LinkImplementationCycle2.cmake:5 \(target_link_libraries\):
|
|
Error evaluating generator expression:
|
|
|
|
\$<TARGET_PROPERTY:INTERFACE_INCLUDE_DIRECTORIES>
|
|
|
|
\$<TARGET_PROPERTY:...> expression in link libraries evaluation depends on
|
|
target property which is transitive over the link libraries, creating a
|
|
recursion.
|
|
Call Stack \(most recent call first\):
|
|
CMakeLists.txt:8 \(include\)
|