UNITY_BUILD_MODE¶
在 3.18 版本加入.
CMake 提供了不同的算法来选择将哪些源组合到一个*桶*中。选择由该属性决定,它具有以下可接受的值:
批量在这种模式下,CMake 确定将哪些文件组合在一起。
UNITY_BUILD_BATCH_SIZE属性控制每个统一源文件可以组合多少源的上限。用法示例:
add_library(example_library source1.cxx source2.cxx source3.cxx source4.cxx) set_target_properties(example_library PROPERTIES UNITY_BUILD_MODE BATCH UNITY_BUILD_BATCH_SIZE 2 )
组在这种模式下,每个目标明确指定如何对源文件进行分组。每个具有相同
UNITY_GROUP值的源文件将被组合在一起。任何不具有此属性的源都将单独编译。使用此模式时将忽略UNITY_BUILD_BATCH_SIZE属性。用法示例:
add_library(example_library source1.cxx source2.cxx source3.cxx source4.cxx) set_target_properties(example_library PROPERTIES UNITY_BUILD_MODE GROUP ) set_source_files_properties(source1.cxx source2.cxx source3.cxx PROPERTIES UNITY_GROUP "bucket1" ) set_source_files_properties(source4.cxx PROPERTIES UNITY_GROUP "bucket2" )
如果没有明确指定 UNITY_BUILD_MODE,CMake 将默认为 BATCH。