UNITY_BUILD_BATCH_SIZE¶
3.16 版新增。
当通过 UNITY_BUILD 目标属性启用 unity 构建时,此属性指定可以合并到任何一个 unity 源文件中的源文件的最大数量。原始源文件将分布到尽可能多的 unity 源文件中,以遵守此限制。
此属性的初始值是在创建目标时从 CMAKE_UNITY_BUILD_BATCH_SIZE 变量获取的。如果该变量未设置,则初始值为 8。
批处理大小需要仔细选择。如果设置得太高,合并的源文件的大小可能会导致编译器使用过多的内存或遇到其他类似限制。在极端情况下,这甚至可能导致构建失败。另一方面,如果批处理大小太低,则构建性能的提升会很小。
尽管强烈不建议,但可以将批处理大小设置为 0,以将目标的所有源合并到一个 unity 文件中,无论涉及多少源。这有创建过大的 unity 源文件并对构建性能产生负面影响的风险,因此通常不推荐设置为 0。