CMakeLists.txt 563 B

123456789101112131415161718
  1. project(ObjectLibraryA C)
  2. # Add -fPIC so objects can be used in shared libraries.
  3. # TODO: Need property for this.
  4. if(CMAKE_SHARED_LIBRARY_C_FLAGS AND NOT WATCOM)
  5. set(CMAKE_C_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS} ${CMAKE_C_FLAGS}")
  6. endif()
  7. add_definitions(-DA_DEF)
  8. add_custom_command(
  9. OUTPUT a1.c
  10. DEPENDS a1.c.in
  11. COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/a1.c.in
  12. ${CMAKE_CURRENT_BINARY_DIR}/a1.c
  13. )
  14. add_library(A OBJECT a1.c a2.c)
  15. target_include_directories(A PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})