CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY

在 3.16 版本加入.

通过 find_package() 命令控制搜索 系统包注册表

默认情况下,此变量未设置,行为将回退到由已弃用的 CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY 变量确定的行为。如果也未设置,则:command:find_package() 将使用 系统包注册表,除非提供了 NO_CMAKE_SYSTEM_PACKAGE_REGISTRY 选项。

当两者都设置时,此变量优先于 CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY

在某些情况下,例如仅定位用户特定的安装,在搜索包时不希望使用 系统包注册表。如果 CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY 变量为 FALSE,则所有 find_package() 命令都将跳过 系统包注册表,就好像它们是使用 NO_CMAKE_SYSTEM_PACKAGE_REGISTRY 参数调用的一样。

另见:ref:禁用包注册表

另请参见 CMAKE_FIND_USE_CMAKE_PATHCMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATHCMAKE_FIND_USE_INSTALL_PREFIXCMAKE_FIND_USE_CMAKE_SYSTEM_PATHCMAKE_FIND_USE_SYSTEM_ENVIRON MENT_PATHCMAKE_FIND_USE_PACKAGE_REGISTRY 和 :variable:` CMAKE_FIND_USE_PACKAGE_ROOT_PATH` 变量。