|
@@ -15,6 +15,7 @@ set_property(TARGET iface1 APPEND PROPERTY
|
|
|
BOOL_PROP4
|
|
BOOL_PROP4
|
|
|
BOOL_PROP5
|
|
BOOL_PROP5
|
|
|
BOOL_PROP6
|
|
BOOL_PROP6
|
|
|
|
|
+ BOOL_PROP7
|
|
|
)
|
|
)
|
|
|
set_property(TARGET iface1 APPEND PROPERTY
|
|
set_property(TARGET iface1 APPEND PROPERTY
|
|
|
COMPATIBLE_INTERFACE_STRING
|
|
COMPATIBLE_INTERFACE_STRING
|
|
@@ -34,7 +35,7 @@ set_property(TARGET iface1 APPEND PROPERTY
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
set(CMAKE_DEBUG_TARGET_PROPERTIES
|
|
set(CMAKE_DEBUG_TARGET_PROPERTIES
|
|
|
- BOOL_PROP1 BOOL_PROP2 BOOL_PROP3 BOOL_PROP4 BOOL_PROP5 BOOL_PROP6
|
|
|
|
|
|
|
+ BOOL_PROP1 BOOL_PROP2 BOOL_PROP3 BOOL_PROP4 BOOL_PROP5 BOOL_PROP6 BOOL_PROP7
|
|
|
STRING_PROP1 STRING_PROP2 STRING_PROP3
|
|
STRING_PROP1 STRING_PROP2 STRING_PROP3
|
|
|
NUMBER_MIN_PROP1 NUMBER_MIN_PROP2
|
|
NUMBER_MIN_PROP1 NUMBER_MIN_PROP2
|
|
|
NUMBER_MAX_PROP1 NUMBER_MAX_PROP2
|
|
NUMBER_MAX_PROP1 NUMBER_MAX_PROP2
|
|
@@ -44,6 +45,7 @@ set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP1 ON)
|
|
|
set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP2 ON)
|
|
set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP2 ON)
|
|
|
set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP5 OFF)
|
|
set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP5 OFF)
|
|
|
set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP6 OFF)
|
|
set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP6 OFF)
|
|
|
|
|
+set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP7 OFF)
|
|
|
set_property(TARGET iface1 PROPERTY INTERFACE_STRING_PROP1 prop1)
|
|
set_property(TARGET iface1 PROPERTY INTERFACE_STRING_PROP1 prop1)
|
|
|
set_property(TARGET iface1 PROPERTY INTERFACE_STRING_PROP2 prop2)
|
|
set_property(TARGET iface1 PROPERTY INTERFACE_STRING_PROP2 prop2)
|
|
|
set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MIN_PROP1 100)
|
|
set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MIN_PROP1 100)
|
|
@@ -54,8 +56,12 @@ set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MAX_PROP2 200)
|
|
|
add_library(iface2 INTERFACE)
|
|
add_library(iface2 INTERFACE)
|
|
|
set_property(TARGET iface2 PROPERTY INTERFACE_BOOL_PROP6 OFF)
|
|
set_property(TARGET iface2 PROPERTY INTERFACE_BOOL_PROP6 OFF)
|
|
|
|
|
|
|
|
|
|
+add_library(iface3 INTERFACE)
|
|
|
|
|
+
|
|
|
add_executable(CompatibleInterface empty.cpp)
|
|
add_executable(CompatibleInterface empty.cpp)
|
|
|
-target_link_libraries(CompatibleInterface iface1 iface2)
|
|
|
|
|
|
|
+target_link_libraries(CompatibleInterface iface1 iface2
|
|
|
|
|
+ $<$<BOOL:$<TARGET_PROPERTY:BOOL_PROP7>>:iface3>
|
|
|
|
|
+)
|
|
|
|
|
|
|
|
set_property(TARGET CompatibleInterface PROPERTY BOOL_PROP2 ON)
|
|
set_property(TARGET CompatibleInterface PROPERTY BOOL_PROP2 ON)
|
|
|
set_property(TARGET CompatibleInterface PROPERTY BOOL_PROP3 ON)
|
|
set_property(TARGET CompatibleInterface PROPERTY BOOL_PROP3 ON)
|