CMAKE_VERIFY_INTERFACE_HEADER_SETS

在版本 3.24 中新增。

此變數用於初始化目標 (targets) 被建立時的 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)

預設情況下,此變數未設定,這將導致標頭集合驗證被停用。