Spec-Zone.ru › CMake 3.26

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API