Skip to content

FetchContent: Disable header set verification for dependencies

The CMAKE_VERIFY_INTERFACE_HEADER_SETS variable is intended to be under the control of the user. It doesn't discriminate between header sets defined in the main project and those defined by dependencies brought into the build directly via FetchContent. Developers will usually only be interested in verifying the main project's header sets, not those from dependencies.

Make the variable effectively only enable header set verification of the main project by turning it off during FetchContent_MakeAvailable() calls. The user still has variables like CMAKE_PROJECT_INCLUDE and CMAKE_PROJECT__INCLUDE available to them if they want to enable verification of all or specific dependencies respectively.

Fixes: #23808 (closed)
Backport: release

Edited by Craig Scott

Merge request reports