| include(GenerateExportHeader) | |
| add_library(sharedlib SHARED sharedlib.cpp) | |
| generate_export_header(sharedlib) | |
| add_library(shareddependlib SHARED shareddependlib.cpp) | |
| generate_export_header(shareddependlib) | |
| set(CMAKE_INCLUDE_CURRENT_DIR ON) | |
| set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON) | |
| target_link_libraries(sharedlib PUBLIC shareddependlib) | |
| target_include_directories(shareddependlib | |
| PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/shareddependlib") | |
| target_compile_definitions(shareddependlib | |
| INTERFACE $<1:SHAREDDEPENDLIB_DEFINE>) | |
| target_include_directories(sharedlib | |
| PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/sharedlib") | |
| target_compile_definitions(shareddependlib | |
| INTERFACE $<1:SHAREDLIB_DEFINE>) | |
| add_library(shared_iface INTERFACE) | |
| target_link_libraries(shared_iface INTERFACE sharedlib) | |
| add_library(imported::iface INTERFACE IMPORTED GLOBAL) |