Spec-Zone.ru › CMake

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

Spec-Zone.ru

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