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