Spec-Zone.ru › CMake

CMAKE_VERIFY_PRIVATE_HEADER_SETS

Добавлено в версии 4.3.

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

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

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

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

# Include the vendored dependency with header set verification disabled
set(CMAKE_VERIFY_INTERFACE_HEADER_SETS OFF)
set(CMAKE_VERIFY_PRIVATE_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_interface_header_set_verification})
set(CMAKE_VERIFY_PRIVATE_HEADER_SETS ${want_private_header_set_verification})
add_subdirectory(src)

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

См. также CMAKE_VERIFY_INTERFACE_HEADER_SETS.

© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/variable/CMAKE_VERIFY_PRIVATE_HEADER_SETS.html

Spec-Zone.ru

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