unitybuild_c_and_cxx.cmake 528 B

12345678910111213141516171819
  1. set(CMAKE_INTERMEDIATE_DIR_STRATEGY FULL CACHE STRING "" FORCE)
  2. project(unitybuild_c_and_cxx C CXX)
  3. set(srcs "")
  4. foreach(s RANGE 1 8)
  5. set(src_c "${CMAKE_CURRENT_BINARY_DIR}/s${s}.c")
  6. file(WRITE "${src_c}" "int s${s}(void) { return 0; }\n")
  7. set(src_cxx "${CMAKE_CURRENT_BINARY_DIR}/s${s}.cxx")
  8. file(WRITE "${src_cxx}" "int s${s}(void) { return 0; }\n")
  9. list(APPEND srcs "${src_c}")
  10. list(APPEND srcs "${src_cxx}")
  11. endforeach()
  12. add_library(tgt SHARED ${srcs})
  13. set_target_properties(tgt PROPERTIES UNITY_BUILD ON)