CMakeLists.txt 707 B

1234567891011121314151617
  1. project(ObjectLibraryB C)
  2. if("${CMAKE_GENERATOR}" MATCHES "Visual Studio 6")
  3. # VS 6 generator does not use per-target object locations.
  4. set(vs6 _vs6)
  5. endif()
  6. # Add -fPIC so objects can be used in shared libraries.
  7. set(CMAKE_POSITION_INDEPENDENT_CODE ON)
  8. add_library(B OBJECT b1.c b2.c)
  9. target_include_directories(B PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
  10. target_compile_definitions(B PUBLIC B_DEF)
  11. add_library(Bexport OBJECT b1${vs6}.c b2${vs6}.c)
  12. set_property(TARGET Bexport PROPERTY COMPILE_DEFINITIONS Bexport)
  13. target_include_directories(Bexport PRIVATE $<TARGET_PROPERTY:B,INTERFACE_INCLUDE_DIRECTORIES>)
  14. target_compile_definitions(Bexport PRIVATE $<TARGET_PROPERTY:B,INTERFACE_COMPILE_DEFINITIONS>)