UNITY_BUILD_MODE
Новое в версии 3.18.
CMake предоставляет разные алгоритмы для выбора источников, которые объединяются в группу. Выбор определяется этой настройкой, которая может принимать следующие значения:
-
BATCH -
В этом режиме CMake определяет, какие файлы объединяются вместе. Настройка
UNITY_BUILD_BATCH_SIZEзадает верхний предел количества источников, которые могут быть объединены в один файл Unity.Пример использования:
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 ) -
GROUP -
В этом режиме каждый целевой объект явно указывает, как группировать исходные файлы. Каждый исходный файл с одинаковым значением
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.
© 2000–2023 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.26/prop_tgt/UNITY_BUILD_MODE.html