unitybuild_c_group.cmake 608 B

12345678910111213141516171819
  1. set(CMAKE_INTERMEDIATE_DIR_STRATEGY FULL CACHE STRING "" FORCE)
  2. project(unitybuild_c C)
  3. set(srcs "")
  4. foreach(s RANGE 1 8)
  5. set(src "${CMAKE_CURRENT_BINARY_DIR}/s${s}.c")
  6. file(WRITE "${src}" "int s${s}(void) { return 0; }\n")
  7. list(APPEND srcs "${src}")
  8. endforeach()
  9. add_library(tgt SHARED ${srcs})
  10. set_target_properties(tgt PROPERTIES UNITY_BUILD ON
  11. UNITY_BUILD_MODE GROUP)
  12. set_source_files_properties(s1.c PROPERTIES UNITY_GROUP "a")
  13. set_source_files_properties(s2.c PROPERTIES UNITY_GROUP "a")
  14. set_source_files_properties(s3.c s4.c PROPERTIES UNITY_GROUP "b")