CMAKE_FIND_PACKAGE_REDIRECTS_DIR

於版本 3.24 新增。

這個唯讀變數指定一個目錄,find_package() 命令會在其他任何地方搜尋模組或組態套件檔案之前,先檢查這個目錄。在這個目錄中的組態套件檔案,其優先順序永遠高於任何其他的 Find 模組檔案或組態套件檔案。

這個變數的主要目的是促進 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),不會設定此變數。