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