TARGETS-Defaults.cmake 803 B

123456789101112131415161718192021222324252627
  1. enable_language(C)
  2. add_executable(exe main.c)
  3. add_library(lib1 SHARED obj1.c)
  4. add_library(lib2 STATIC obj3.c)
  5. add_library(lib3 SHARED obj4.c)
  6. set_property(TARGET lib3 PROPERTY PRIVATE_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj4.h)
  7. add_library(lib4 SHARED obj5.c)
  8. set_property(TARGET lib4 PROPERTY PUBLIC_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj5.h)
  9. add_library(iface INTERFACE)
  10. set_target_properties(iface PROPERTIES
  11. PUBLIC_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj1.h
  12. PRIVATE_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj2.h)
  13. install(TARGETS exe lib1 lib2)
  14. install(TARGETS lib3
  15. LIBRARY DESTINATION lib3
  16. ARCHIVE DESTINATION lib3
  17. )
  18. install(TARGETS lib4
  19. LIBRARY DESTINATION lib4
  20. RUNTIME DESTINATION lib4
  21. )
  22. install(TARGETS iface
  23. PUBLIC_HEADER DESTINATION include
  24. PRIVATE_HEADER DESTINATION include)