CMAKE_FIND_USE_PACKAGE_REGISTRY

3.16 版新增。

控制 find_package() 命令的默认行为,即是否搜索由 用户包注册表 (User Package Registry) 提供的路径。

默认情况下,未设置此变量,其行为将回退到由已弃用的 CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY 变量所决定的行为。如果该变量也未设置,那么 find_package() 将使用 用户包注册表,除非提供了 NO_CMAKE_PACKAGE_REGISTRY 选项。

当两者同时设置时,此变量的优先级高于 CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY

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

另请参阅 禁用包注册表 以及 CMAKE_FIND_USE_CMAKE_PATHCMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATHCMAKE_FIND_USE_INSTALL_PREFIXCMAKE_FIND_USE_CMAKE_SYSTEM_PATHCMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATHCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRYCMAKE_FIND_USE_PACKAGE_ROOT_PATH 变量。