CMAKE_VERIFY_INTERFACE_HEADER_SETS

在 3.24 版本加入.

此变量用于在创建目标时初始化目标的 VERIFY_INTERFACE_HEADER_SETS 属性。将其设置为 true 可启用标头集验证。

项目通常不应设置此变量,它旨在作为开发人员控件在 cmake(1) 命令行或其他等效方法上进行设置。开发人员必须能够根据自己的机器和编译器的能力启用或禁用标头集验证。

开发人员通常不会对依赖项的标头集的验证感兴趣。因此, FetchContent_MakeAvailable() 在其调用期间显式将 CMAKE_VERIFY_INTERFACE_HEADER_SETS` 设置为 false,但在返回前恢复其原始值。如果一个项目直接将依赖项引入主构建(例如,从 git 子模块调用 add_subdirectory 到一个出售的项目),它也应该这样做。例如:

# 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)

默认情况下,此变量未设置,这将导致标头集验证被禁用。