CMakeLists.txt 776 B

123456789101112131415161718192021222324
  1. project(ObjectLibraryA C)
  2. # Add -fPIC so objects can be used in shared libraries.
  3. set(CMAKE_POSITION_INDEPENDENT_CODE ON)
  4. add_definitions(-DA_DEF)
  5. add_custom_command(
  6. OUTPUT a1.c
  7. DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/a1.c.in
  8. COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/a1.c.in
  9. ${CMAKE_CURRENT_BINARY_DIR}/a1.c
  10. )
  11. # Remove the custom command output to be sure it runs in an
  12. # incremental test.
  13. file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/a.cmake)
  14. add_custom_command(
  15. OUTPUT a.cmake
  16. COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/a.cmake
  17. )
  18. add_library(A OBJECT a1.c a2.c a.cmake)
  19. target_include_directories(A PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
  20. set_property(TARGET A PROPERTY COMPILE_PDB_NAME Apdb)