UNITY_BUILD_MODE
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–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.18/prop_tgt/UNITY_BUILD_MODE.html