|
|
@ -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>" "" |
|
|
|
) |