CMAKE_FIND_PACKAGE_REDIRECTS_DIR¶
在 3.24 版本中添加。
此只读变量指定一个目录,find_package() 命令会在搜索其他任何位置的模块或配置包文件之前首先检查该目录。如果此目录中存在配置包文件,则无论其他 Find 模块文件或配置包文件如何,都将优先找到它。
此变量的主要目的是促进 find_package() 和 FetchContent_MakeAvailable() 之间的集成。后者命令在填充依赖项时,可能会在 CMAKE_FIND_PACKAGE_REDIRECTS_DIR 目录中创建文件。这允许后续对相同依赖项的 find_package() 调用重用填充的内容,而不是尝试从构建外部的位置满足依赖项。项目在某些情况下也可能希望将文件写入此目录(有关示例,请参阅 与 find_package() 集成)。
在每次 CMake 运行时开始时,CMAKE_FIND_PACKAGE_REDIRECTS_DIR 指向的目录将始终被擦除并重新创建为空。在 CMake 运行时写入此目录的任何文件都将在下一次 CMake 配置项目时丢失。
CMAKE_FIND_PACKAGE_REDIRECTS_DIR 仅在 CMake 项目模式下设置。在 CMake 以脚本模式运行时(即 cmake -P)时不设置它。