| enable_language(C) |
| |
| add_library(A STATIC BasicA.c BasicX.c) |
| add_library(B STATIC BasicB.c BasicX.c) |
| add_library(C STATIC BasicC.c BasicX.c) |
| target_link_libraries(B PRIVATE A) |
| target_link_libraries(C PRIVATE A) |
| target_compile_definitions(A PRIVATE BASIC_ID="A") |
| target_compile_definitions(B PRIVATE BASIC_ID="B") |
| target_compile_definitions(C PRIVATE BASIC_ID="C") |
| |
| add_executable(main Basic.c) |
| target_link_libraries(main PRIVATE A B C) |
| set_property(TARGET main PROPERTY LINK_DEPENDS_DEBUG_MODE 1) # undocumented |
| set_property(TARGET main PROPERTY RUNTIME_OUTPUT_DIRECTORY "$<1:${CMAKE_BINARY_DIR}>") |