diff options
author | Stephen Kelly <steveire@gmail.com> | 2014-01-09 11:41:29 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2014-01-09 19:11:42 (GMT) |
commit | e7a111f0945315b983cdb4d5d9f94b28e52598d4 (patch) | |
tree | 7ceabe231ce6486912d91905c479d421c5508db8 /Tests/InterfaceLibrary | |
parent | e56530f6121a96c0434cba673d530366907df980 (diff) | |
download | CMake-e7a111f0945315b983cdb4d5d9f94b28e52598d4.zip CMake-e7a111f0945315b983cdb4d5d9f94b28e52598d4.tar.gz CMake-e7a111f0945315b983cdb4d5d9f94b28e52598d4.tar.bz2 |
InterfaceLibrary: Add test requiring MAP_IMPORTED_CONFIG whitelisting
The target properties with this prefix are whitelisted for
INTERFACE_LIBRARY targets.
Diffstat (limited to 'Tests/InterfaceLibrary')
-rw-r--r-- | Tests/InterfaceLibrary/CMakeLists.txt | 13 | ||||
-rw-r--r-- | Tests/InterfaceLibrary/map_config.cpp | 15 |
2 files changed, 28 insertions, 0 deletions
diff --git a/Tests/InterfaceLibrary/CMakeLists.txt b/Tests/InterfaceLibrary/CMakeLists.txt index b396eb6..81b34e6 100644 --- a/Tests/InterfaceLibrary/CMakeLists.txt +++ b/Tests/InterfaceLibrary/CMakeLists.txt @@ -29,3 +29,16 @@ target_link_libraries(iface_whitelist INTERFACE $<$<BOOL:$<TARGET_PROPERTY:CUSTO add_executable(exec_whitelist dummy.cpp) target_link_libraries(exec_whitelist iface_whitelist) + +add_library(iface_imported INTERFACE IMPORTED) +set_property(TARGET iface_imported PROPERTY + INTERFACE_COMPILE_DEFINITIONS + $<$<CONFIG:SPECIAL>:SPECIAL_MODE> + $<$<CONFIG:Debug>:DEBUG_MODE> +) +set_property(TARGET iface_imported PROPERTY + MAP_IMPORTED_CONFIG_DEBUG SPECIAL +) + +add_executable(map_config map_config.cpp) +target_link_libraries(map_config iface_imported) diff --git a/Tests/InterfaceLibrary/map_config.cpp b/Tests/InterfaceLibrary/map_config.cpp new file mode 100644 index 0000000..81bb666 --- /dev/null +++ b/Tests/InterfaceLibrary/map_config.cpp @@ -0,0 +1,15 @@ + +#ifdef DEBUG_MODE +#ifndef SPECIAL_MODE +#error Special configuration should be mapped to debug configuration. +#endif +#else +#ifdef SPECIAL_MODE +#error Special configuration should not be enabled if not debug configuration +#endif +#endif + +int main(int,char**) +{ + return 0; +} |