Spec-Zone.ru › CMake 3.31

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–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/variable/CMAKE_VERIFY_INTERFACE_HEADER_SETS.html

Spec-Zone.ru

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