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