Basic-common.cmake 598 B

123456789101112131415
  1. enable_language(C)
  2. add_library(A STATIC BasicA.c BasicX.c)
  3. add_library(B STATIC BasicB.c BasicX.c)
  4. add_library(C STATIC BasicC.c BasicX.c)
  5. target_link_libraries(B PRIVATE A)
  6. target_link_libraries(C PRIVATE A)
  7. target_compile_definitions(A PRIVATE BASIC_ID="A")
  8. target_compile_definitions(B PRIVATE BASIC_ID="B")
  9. target_compile_definitions(C PRIVATE BASIC_ID="C")
  10. add_executable(main Basic.c)
  11. target_link_libraries(main PRIVATE A B C)
  12. set_property(TARGET main PROPERTY LINK_DEPENDS_DEBUG_MODE 1) # undocumented
  13. set_property(TARGET main PROPERTY RUNTIME_OUTPUT_DIRECTORY "$<1:${CMAKE_BINARY_DIR}>")