Files
CMake/Tests/CustomTransitiveProperties/CMP0189/check.cmake
Brad King b3da9c6d60 GenEx: Evaluate LINK_LIBRARIES target properties transitively
The `LINK_LIBRARIES` and `INTERFACE_LINK_LIBRARIES` target properties
establish the graph of link dependencies used to propagate usage
requirements transitively.  Therefore the `$<TARGET_PROPERTY:...>`
generator expression should evaluate them transitively as it does for
other transitive properties.  Add policy CMP0189 for compatibility.

Fixes: #26709
Issue: #12435
2025-02-24 11:43:47 -05:00

33 lines
1.3 KiB
CMake

set(expect [[
# file\(GENERATE\) produced:
iface1 LINK_LIBRARIES: ''
iface1 INTERFACE_LINK_LIBRARIES: ''
iface2 LINK_LIBRARIES: ''
iface2 INTERFACE_LINK_LIBRARIES: 'iface1'
static1 LINK_LIBRARIES: 'iface2;iface1'
static1 INTERFACE_LINK_LIBRARIES: 'iface2;iface1'
main LINK_LIBRARIES: 'static1;object1;iface2;iface1;iface2'
main INTERFACE_LINK_LIBRARIES: ''
iface10 LINK_LIBRARIES: ''
iface10 INTERFACE_LINK_LIBRARIES: ''
iface11 LINK_LIBRARIES: ''
iface11 INTERFACE_LINK_LIBRARIES: 'iface10'
static10 LINK_LIBRARIES: 'iface11;iface10'
static10 INTERFACE_LINK_LIBRARIES: 'iface11;iface10'
static11 LINK_LIBRARIES: 'static10;iface11;iface11;iface10'
static11 INTERFACE_LINK_LIBRARIES: 'static10;iface11;iface11;iface10'
main10 LINK_LIBRARIES: 'static11;static10;static10;iface11;iface11;iface10'
main10 INTERFACE_LINK_LIBRARIES: ''
iface20 LINK_LIBRARIES: ''
iface20 INTERFACE_LINK_LIBRARIES: ''
iface21 LINK_LIBRARIES: ''
iface21 INTERFACE_LINK_LIBRARIES: 'iface20'
static20 LINK_LIBRARIES: 'iface21;iface20'
static20 INTERFACE_LINK_LIBRARIES: 'iface21;iface20'
static21 LINK_LIBRARIES: 'static20;iface21;iface21;iface20'
static21 INTERFACE_LINK_LIBRARIES: 'static20;iface21;iface21;iface20'
main20 LINK_LIBRARIES: 'static21;static20;static20;iface21;iface21;iface20'
main20 INTERFACE_LINK_LIBRARIES: ''
]])
include(${CMAKE_CURRENT_LIST_DIR}/../check-common.cmake)