CMAKE_FIND_PACKAGE_REDIRECTS_DIR

在版本 3.24 中新增。

這個唯讀變數指定一個目錄,find_package() 命令會在搜尋模組或 config package 檔案的其他任何位置之前,先檢查這個目錄。在這個目錄中的 config package 檔案將始終優先於任何其他 Find 模組檔案或 config 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)不會設定。