Spec-Zone.ru › CMake 3.29

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.29/variable/CMAKE_VERIFY_INTERFACE_HEADER_SETS.html

Spec-Zone.ru

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