CMAKE_DISABLE_FIND_PACKAGE_<PackageName>¶
用於停用 find_package()
呼叫的變數。
專案中每個非 REQUIRED
find_package()
呼叫都可以透過將變數 CMAKE_DISABLE_FIND_PACKAGE_<PackageName>
設定為 TRUE
來停用。這可以用於在不安裝可選套件的情況下建置專案,即使該套件已安裝。
此開關應在初始 CMake 執行期間使用。否則,如果套件已在先前的 CMake 執行中找到,則儲存在快取中的變數仍將存在。在這種情況下,建議使用快取編輯器或 cmake -U
從快取中移除此套件的快取變數。
請注意,此變數可能會導致專案內結果不一致。考慮在專案內的兩個不同位置透過 find_package()
請求依賴項的情況。如果第一個呼叫沒有 REQUIRED
關鍵字,則當 CMAKE_DISABLE_FIND_PACKAGE_<PackageName>
針對該依賴項設定為 true 時,它將找不到該依賴項。專案將在依賴項不可用的假設下繼續進行。如果專案中其他地方的第二個呼叫確實具有 REQUIRED
關鍵字,則它可能會成功。那麼同一個專案的兩個不同部分對於同一個依賴項看到了相反的結果。