CMakeLists.txt 845 B

12345678910111213141516171819202122232425262728
  1. include(GenerateExportHeader)
  2. add_library(sharedlib SHARED sharedlib.cpp)
  3. generate_export_header(sharedlib)
  4. add_library(shareddependlib SHARED shareddependlib.cpp)
  5. generate_export_header(shareddependlib)
  6. set(CMAKE_INCLUDE_CURRENT_DIR ON)
  7. set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
  8. target_link_libraries(sharedlib PUBLIC shareddependlib)
  9. target_include_directories(shareddependlib
  10. PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/shareddependlib")
  11. target_compile_definitions(shareddependlib
  12. INTERFACE $<1:SHAREDDEPENDLIB_DEFINE>)
  13. target_include_directories(sharedlib
  14. PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/sharedlib")
  15. target_compile_definitions(shareddependlib
  16. INTERFACE $<1:SHAREDLIB_DEFINE>)
  17. add_library(shared_iface INTERFACE)
  18. target_link_libraries(shared_iface INTERFACE sharedlib)
  19. add_library(imported::iface INTERFACE IMPORTED GLOBAL)