Spec-Zone.ru › CMake 3.26

CMAKE_VERIFY_INTERFACE_HEADER_SETS

Новое в версии 3.24.

Эта переменная используется для инициализации свойства VERIFY_INTERFACE_HEADER_SETS целевых объектов при их создании. Установка значения в true включает проверку наборов заголовков.

Проекты обычно не должны устанавливать эту переменную, она предназначена как средство управления для разработчиков, которое должно быть установлено на командной строке cmake(1) или с помощью других эквивалентных методов. Разработчик должен иметь возможность включить или выключить проверку наборов заголовков в соответствии с возможностями собственной машины и компилятора.

Проверка наборов заголовков зависимости обычно не представляет интереса для разработчиков. Поэтому FetchContent_MakeAvailable() явно устанавливает CMAKE_VERIFY_INTERFACE_HEADER_SETS в false на период своего вызова, но восстанавливает исходное значение перед возвратом. Если проект подключает зависимость непосредственно в основной сборке (например, вызывая add_subdirectory() на проекте-зависимости из подмодуля git), он также должен сделать то же самое. Например:

# Save original setting so we can restore it later
set(want_header_set_verification ${CMAKE_VERIFY_INTERFACE_HEADER_SETS})

# Include the vendored dependency with header set verification disabled
set(CMAKE_VERIFY_INTERFACE_HEADER_SETS OFF)
add_subdirectory(...)   # Vendored sources, e.g. from git submodules

# Add the project's own sources. Restore the developer's original choice
# for whether to enable header set verification.
set(CMAKE_VERIFY_INTERFACE_HEADER_SETS ${want_header_set_verification})
add_subdirectory(src)

По умолчанию эта переменная не установлена, что приводит к отключению проверки наборов заголовков.

© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.24/variable/CMAKE_VERIFY_INTERFACE_HEADER_SETS.html

Spec-Zone.ru

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