CMAKE_FIND_PACKAGE_REDIRECTS_DIR

在版本 3.24 中添加。

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

此变量的主要目的是促进 find_package()FetchContent_MakeAvailable() 的集成。后者命令在填充依赖项时可能在 CMAKE_FIND_PACKAGE_REDIRECTS_DIR 目录中创建文件。这允许随后针对同一依赖项调用 find_package(),以重新使用填充的内容,而不必尝试从构建的外部满足依赖项。在某些情况下,项目可能还希望将文件写入此目录(有关示例,请参见 与 find_package() 集成)。

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

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