Files
CMake/Tests/RunCMake/interface_library/whitelist.cmake
Avraham Shukron a40f9083dd INTERFACE Target: allow (PUBLIC/PRIVATE)_HEADER properties
Also support installing headers on an INTERFACE library.

Signed-off-by: Avraham Shukron <avraham.shukron@gmail.com>
Fixes: #15234
2019-04-11 11:09:42 -04:00

26 lines
1.0 KiB
CMake

add_library(iface INTERFACE)
set_property(TARGET iface PROPERTY OUTPUT_NAME output)
set_property(TARGET iface APPEND PROPERTY OUTPUT_NAME append)
get_target_property(outname iface OUTPUT_NAME)
# Properties starting with `_` are allowed.
set_property(TARGET iface PROPERTY "_custom_property" output)
set_property(TARGET iface APPEND PROPERTY "_custom_property" append)
get_target_property(outname iface "_custom_property")
# Properties starting with a lowercase letter are allowed.
set_property(TARGET iface PROPERTY "custom_property" output)
set_property(TARGET iface APPEND PROPERTY "custom_property" append)
get_target_property(outname iface "custom_property")
# PUBLIC_HEADER / PRIVATE_HEADER properties are allowed
set_property(TARGET iface PROPERTY PUBLIC_HEADER foo.h)
set_property(TARGET iface APPEND PROPERTY PUBLIC_HEADER bar.h)
get_target_property(outname iface PUBLIC_HEADER)
set_property(TARGET iface PROPERTY PRIVATE_HEADER foo.h)
set_property(TARGET iface APPEND PROPERTY PRIVATE_HEADER bar.h)
get_target_property(outname iface PRIVATE_HEADER)