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
模組相同的結果變數,以便相依專案可以互換使用它們。