summaryrefslogtreecommitdiffstats
path: root/Tests/CustomTransitiveProperties/CMP0189/CMakeLists.txt
blob: 8df28ccd7d174f7d03ad05459a4641f24b002822 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
set(out "${CMAKE_CURRENT_BINARY_DIR}/out-OLD-$<CONFIG>.txt")
file(GENERATE OUTPUT "${out}" CONTENT "# file(GENERATE) produced:
${in_LINK_LIBRARIES}
")
add_custom_target(check-CMP0189-OLD ALL VERBATIM
  COMMAND ${CMAKE_COMMAND} -Dconfig=$<CONFIG> -Dout=${out} -P${CMAKE_CURRENT_SOURCE_DIR}/check-OLD.cmake
)

cmake_policy(SET CMP0189 NEW)
set(out "${CMAKE_CURRENT_BINARY_DIR}/out-NEW-$<CONFIG>.txt")
file(GENERATE OUTPUT "${out}" CONTENT "# file(GENERATE) produced:
${in_LINK_LIBRARIES}
")
add_custom_target(check-CMP0189-NEW ALL VERBATIM
  COMMAND ${CMAKE_COMMAND} -Dconfig=$<CONFIG> -Dout=${out} -P${CMAKE_CURRENT_SOURCE_DIR}/check-NEW.cmake
  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;iface1"
  "$<TARGET_PROPERTY:static1,INTERFACE_LINK_LIBRARIES>" "iface2;iface1"
  "$<TARGET_PROPERTY:CustomTransitiveProperties,LINK_LIBRARIES>" "static1;object1;iface2;iface1;iface2"
  "$<TARGET_PROPERTY:CustomTransitiveProperties,INTERFACE_LINK_LIBRARIES>" ""
  COMMAND check-args
  "$<TARGET_PROPERTY:iface10,LINK_LIBRARIES>" ""
  "$<TARGET_PROPERTY:iface10,INTERFACE_LINK_LIBRARIES>" ""
  "$<TARGET_PROPERTY:iface11,LINK_LIBRARIES>" ""
  "$<TARGET_PROPERTY:iface11,INTERFACE_LINK_LIBRARIES>" "iface10"
  "$<TARGET_PROPERTY:static10,LINK_LIBRARIES>" "iface11;iface10"
  #                                              _/         \__
  #                                             /              \
  #                               "static10[iface11];iface11[iface10]"
  "$<TARGET_PROPERTY:static10,INTERFACE_LINK_LIBRARIES>" "iface11;iface10"
  "$<TARGET_PROPERTY:static11,LINK_LIBRARIES>" "static10;iface11;iface11;iface10"
  #                                             __/      __/         \__     \__________
  #                                            /        /               \               \
  #                              "static11[static10;iface11];static10[iface11;iface11[iface10]]"
  "$<TARGET_PROPERTY:static11,INTERFACE_LINK_LIBRARIES>" "static10;iface11;iface11;iface10"
  "$<TARGET_PROPERTY:main10,LINK_LIBRARIES>" "static11;static10;static10;iface11;iface11;iface10"
  #                                      _______/ _______/         |        |        \______ \______________
  #                                     /        /                 |        |               \               \
  #                         "main10[static11;static10];static11[static10;iface11;static10[iface11;iface11[iface10]]]"
  "$<TARGET_PROPERTY:main10,INTERFACE_LINK_LIBRARIES>" ""
  COMMAND check-args
  "$<TARGET_PROPERTY:iface20,LINK_LIBRARIES>" ""
  "$<TARGET_PROPERTY:iface20,INTERFACE_LINK_LIBRARIES>" ""
  "$<TARGET_PROPERTY:iface21,LINK_LIBRARIES>" ""
  "$<TARGET_PROPERTY:iface21,INTERFACE_LINK_LIBRARIES>" "iface20"
  "$<TARGET_PROPERTY:static20,LINK_LIBRARIES>" "iface21;iface20"
  #                                              _/         \__
  #                                             /              \
  #                               "static20[iface21];iface21[iface20]"
  "$<TARGET_PROPERTY:static20,INTERFACE_LINK_LIBRARIES>" "iface21;iface20"
  "$<TARGET_PROPERTY:static21,LINK_LIBRARIES>" "static20;iface21;iface21;iface20"
  #                                             __/      __/         \__     \__________
  #                                            /        /               \               \
  #                              "static21[static20;iface21];static20[iface21;iface21[iface20]]"
  "$<TARGET_PROPERTY:static21,INTERFACE_LINK_LIBRARIES>" "static20;iface21;iface21;iface20"
  "$<TARGET_PROPERTY:main20,LINK_LIBRARIES>" "static21;static20;static20;iface21;iface21;iface20"
  #                                      _______/ _______/         |        |        \______ \______________
  #                                     /        /                 |        |               \               \
  #                         "main20[static21;static20];static21[static20;iface21;static20[iface21;iface21[iface20]]]"
  "$<TARGET_PROPERTY:main20,INTERFACE_LINK_LIBRARIES>" ""
  )