CMAKE_FIND_PACKAGE_REDIRECTS_DIR

在 3.24 版本加入.

这个只读变量指定一个目录, find_package() 命令在搜索模块或配置包文件的任何其他地方之前将首先检查该目录。此目录中的配置包文件将始终优先于任何其他查找模块文件或配置包文件。

此变量的主要目的是促进 find_package()FetchContent_MakeAvailable() 之间的集成。后一个命令在填充依赖项时可能会在“CMAKE_FIND_PACKAGE_REDIRECTS_DIR”目录中创建文件。这允许后续调用 find_package() 以获取相同的依赖项以重新使用填充的内容,而不是尝试从构建外部的某个地方满足依赖项。在某些情况下,项目可能还想将文件写入此目录(有关示例,请参见 FetchContent-find_package-integration-examples)。

CMAKE_FIND_PACKAGE_REDIRECTS_DIR 指向的目录将始终在每次 CMake 运行开始时被擦除并重新创建为空。在 CMake 运行期间写入此目录的任何文件都将在下次 CMake 配置项目时丢失。

CMAKE_FIND_PACKAGE_REDIRECTS_DIR 仅在 CMake 项目模式下设置。当 CMake 以脚本模式运行时(即 cmake -P),它不会被设置。