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)
默认情况下,此变量未设置,这将导致禁用头文件集验证。