UNITY_BUILD_BATCH_SIZE

3.16 版新增。

指定在通过 UNITY_BUILD 目标属性启用统一构建时,可以合并到任何一个统一源文件中的源文件的最大数量。原始源文件将分布在尽可能多的统一源文件中,以满足此限制。

此属性的初始值来自创建目标时 CMAKE_UNITY_BUILD_BATCH_SIZE 变量。如果该变量未设置,则初始值为 8。

批次大小需要仔细选择。如果设置得太高,合并后的源文件的大小可能会导致编译器使用过多的内存或遇到其他类似限制。在极端情况下,这甚至可能导致构建失败。另一方面,如果批次大小太低,则对构建性能的提升很小。

尽管强烈不推荐,但可以将批次大小设置为 0,将目标的所有源合并到一个统一文件中,无论有多少源文件。这会存在创建过大的统一源文件并对构建性能产生负面影响的风险,因此通常不推荐使用 0。