diff options
author | Stephen Kelly <steveire@gmail.com> | 2013-01-19 10:21:14 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2013-01-20 16:06:47 (GMT) |
commit | e98799105bdb296e8d9f5b3ef5cf99bcebcafc40 (patch) | |
tree | 3cc97cedcc2bac471a9868e95a9982d35de6258c /Tests/CompatibleInterface/CMakeLists.txt | |
parent | d9afacced34b2ef17a6c3ca2f66975272cf8473f (diff) | |
download | CMake-e98799105bdb296e8d9f5b3ef5cf99bcebcafc40.zip CMake-e98799105bdb296e8d9f5b3ef5cf99bcebcafc40.tar.gz CMake-e98799105bdb296e8d9f5b3ef5cf99bcebcafc40.tar.bz2 |
Make INTERFACE determined properties readable in generator expressions.
The properties are evaluated as link-dependent interface properties when
evaluating the generator expressions.
Diffstat (limited to 'Tests/CompatibleInterface/CMakeLists.txt')
-rw-r--r-- | Tests/CompatibleInterface/CMakeLists.txt | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Tests/CompatibleInterface/CMakeLists.txt b/Tests/CompatibleInterface/CMakeLists.txt new file mode 100644 index 0000000..d0eb60f --- /dev/null +++ b/Tests/CompatibleInterface/CMakeLists.txt @@ -0,0 +1,28 @@ + +cmake_minimum_required(VERSION 2.8) + +project(CompatibleInterface) + +add_library(iface1 empty.cpp) +set_property(TARGET iface1 APPEND PROPERTY + COMPATIBLE_INTERFACE_BOOL + BOOL_PROP1 + BOOL_PROP2 + BOOL_PROP3 +) + +set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP1 ON) +set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP2 ON) + +add_executable(CompatibleInterface main.cpp) +target_link_libraries(CompatibleInterface iface1) + +set_property(TARGET CompatibleInterface PROPERTY BOOL_PROP2 ON) +set_property(TARGET CompatibleInterface PROPERTY BOOL_PROP3 ON) + +target_compile_definitions(CompatibleInterface + PRIVATE + $<$<BOOL:$<TARGET_PROPERTY:BOOL_PROP1>>:BOOL_PROP1> + $<$<BOOL:$<TARGET_PROPERTY:BOOL_PROP2>>:BOOL_PROP2> + $<$<BOOL:$<TARGET_PROPERTY:BOOL_PROP3>>:BOOL_PROP3> +) |