mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-19 02:17:27 +08:00
Tests: Extend CustomTransitiveProperties with non-transitive LINK_LIBRARIES
This commit is contained in:
@@ -93,7 +93,7 @@ target_compile_definitions(CustomTransitiveProperties PRIVATE
|
||||
# Test TRANSITIVE_*_PROPERTY evaluation outside of usage requirements.
|
||||
add_executable(check-args check-args.c)
|
||||
set(out "${CMAKE_CURRENT_BINARY_DIR}/out-$<CONFIG>.txt")
|
||||
file(GENERATE OUTPUT "${out}" CONTENT "# file(GENERATE) produced:
|
||||
set(in_CUSTOM [====[
|
||||
iface1 CUSTOM_A: '$<TARGET_PROPERTY:iface1,CUSTOM_A>'
|
||||
iface1 INTERFACE_CUSTOM_A: '$<TARGET_PROPERTY:iface1,INTERFACE_CUSTOM_A>'
|
||||
iface2 CUSTOM_A: '$<TARGET_PROPERTY:iface2,CUSTOM_A>'
|
||||
@@ -126,6 +126,20 @@ main CUSTOM_V: '$<TARGET_PROPERTY:CustomTransitiveProperties,CUSTOM_V>'
|
||||
main INTERFACE_CUSTOM_V: '$<TARGET_PROPERTY:CustomTransitiveProperties,INTERFACE_CUSTOM_V>'
|
||||
main CUSTOM_W: '$<TARGET_PROPERTY:CustomTransitiveProperties,CUSTOM_W>'
|
||||
main INTERFACE_CUSTOM_W: '$<TARGET_PROPERTY:CustomTransitiveProperties,INTERFACE_CUSTOM_W>'
|
||||
]====])
|
||||
set(in_LINK_LIBRARIES [====[
|
||||
iface1 LINK_LIBRARIES: '$<TARGET_PROPERTY:iface1,LINK_LIBRARIES>'
|
||||
iface1 INTERFACE_LINK_LIBRARIES: '$<TARGET_PROPERTY:iface1,INTERFACE_LINK_LIBRARIES>'
|
||||
iface2 LINK_LIBRARIES: '$<TARGET_PROPERTY:iface2,LINK_LIBRARIES>'
|
||||
iface2 INTERFACE_LINK_LIBRARIES: '$<TARGET_PROPERTY:iface2,INTERFACE_LINK_LIBRARIES>'
|
||||
static1 LINK_LIBRARIES: '$<TARGET_PROPERTY:static1,LINK_LIBRARIES>'
|
||||
static1 INTERFACE_LINK_LIBRARIES: '$<TARGET_PROPERTY:static1,INTERFACE_LINK_LIBRARIES>'
|
||||
main LINK_LIBRARIES: '$<TARGET_PROPERTY:CustomTransitiveProperties,LINK_LIBRARIES>'
|
||||
main INTERFACE_LINK_LIBRARIES: '$<TARGET_PROPERTY:CustomTransitiveProperties,INTERFACE_LINK_LIBRARIES>'
|
||||
]====])
|
||||
file(GENERATE OUTPUT "${out}" CONTENT "# file(GENERATE) produced:
|
||||
${in_CUSTOM}
|
||||
${in_LINK_LIBRARIES}
|
||||
")
|
||||
add_custom_target(check ALL VERBATIM
|
||||
COMMAND ${CMAKE_COMMAND} -Dconfig=$<CONFIG> -Dout=${out} -P${CMAKE_CURRENT_SOURCE_DIR}/check.cmake
|
||||
@@ -145,4 +159,13 @@ add_custom_target(check ALL VERBATIM
|
||||
"$<TARGET_PROPERTY:CustomTransitiveProperties,CUSTOM_U>" "CUSTOM_U_MAIN;CUSTOM_U_STATIC1_IFACE;CUSTOM_U_IFACE2;CUSTOM_U_TARGET_TYPE_EXECUTABLE;CUSTOM_U_IFACE1;CUSTOM_U_TARGET_NAME_CUSTOMTRANSITIVEPROPERTIES;CUSTOM_U_OBJECT1_IFACE"
|
||||
"$<TARGET_PROPERTY:CustomTransitiveProperties,CUSTOM_V>" "CUSTOM_V_MAIN;CUSTOM_V_STATIC1_IFACE;CUSTOM_V_IFACE1"
|
||||
"$<TARGET_PROPERTY:CustomTransitiveProperties,CUSTOM_W>" "CUSTOM_W_MAIN;CUSTOM_W_IFACE1;CUSTOM_W_OBJECT1_IFACE"
|
||||
COMMAND check-args
|
||||
"$<TARGET_PROPERTY:iface1,LINK_LIBRARIES>" ""
|
||||
"$<TARGET_PROPERTY:iface1,INTERFACE_LINK_LIBRARIES>" ""
|
||||
"$<TARGET_PROPERTY:iface2,LINK_LIBRARIES>" ""
|
||||
"$<TARGET_PROPERTY:iface2,INTERFACE_LINK_LIBRARIES>" "iface1"
|
||||
"$<TARGET_PROPERTY:static1,LINK_LIBRARIES>" "iface2"
|
||||
"$<TARGET_PROPERTY:static1,INTERFACE_LINK_LIBRARIES>" "$<LINK_ONLY:iface2$<ANGLE-R>"
|
||||
"$<TARGET_PROPERTY:CustomTransitiveProperties,LINK_LIBRARIES>" "static1;object1"
|
||||
"$<TARGET_PROPERTY:CustomTransitiveProperties,INTERFACE_LINK_LIBRARIES>" ""
|
||||
)
|
||||
|
@@ -32,6 +32,15 @@ main CUSTOM_V: 'CUSTOM_V_MAIN;CUSTOM_V_STATIC1_IFACE;CUSTOM_V_IFACE1'
|
||||
main INTERFACE_CUSTOM_V: ''
|
||||
main CUSTOM_W: 'CUSTOM_W_MAIN;CUSTOM_W_IFACE1;CUSTOM_W_OBJECT1_IFACE'
|
||||
main INTERFACE_CUSTOM_W: ''
|
||||
|
||||
iface1 LINK_LIBRARIES: ''
|
||||
iface1 INTERFACE_LINK_LIBRARIES: ''
|
||||
iface2 LINK_LIBRARIES: ''
|
||||
iface2 INTERFACE_LINK_LIBRARIES: 'iface1'
|
||||
static1 LINK_LIBRARIES: 'iface2'
|
||||
static1 INTERFACE_LINK_LIBRARIES: '\$<LINK_ONLY:iface2>'
|
||||
main LINK_LIBRARIES: 'static1;object1'
|
||||
main INTERFACE_LINK_LIBRARIES: ''
|
||||
]])
|
||||
string(REGEX REPLACE "\r\n" "\n" expect "${expect}")
|
||||
string(REGEX REPLACE "\n+$" "" expect "${expect}")
|
||||
|
Reference in New Issue
Block a user