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_FIND_PACKAGE_REDIRECTS_DIR 仅在 CMake 项目模式下设置。在脚本模式下运行 CMake 时(即 cmake -P),它不会被设置。