CMAKE_FIND_PACKAGE_PREFER_CONFIG

版本 3.15 新增。

告知 find_package(),若未指定模式,優先嘗試「Config」模式而非「Module」模式。

當使用精簡簽名且不帶 MODULE 選項時,find_package() 命令會在沒有明確模式下運作。在此情況下,預設情況下,CMake 會先嘗試 Module 模式,搜尋 Find<pkg>.cmake 模組。如果失敗,CMake 接著會使用 Config 模式搜尋套件。

CMAKE_FIND_PACKAGE_PREFER_CONFIG 設定為 TRUE,以告知 find_package(),先使用 Config 模式搜尋,再回頭使用 Module 模式。

當開發人員已編譯常用程式庫的自訂版本,並希望將其連結到相依專案時,此變數可能很有用。如果此變數設定為 TRUE,它將阻止相依專案呼叫 find_package() 時,在找到開發人員自訂建置的程式庫之前,先選取系統 Find<pkg>.cmake 模組找到的預設程式庫。

一旦設定此變數,匯出的 <pkg>Config.cmake 檔案有責任提供與 Find<pkg>.cmake 模組相同的結果變數,以便相依專案可以互換使用它們。