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
關鍵字,它可能會成功。同一個專案的兩個不同部分,對於相同的依賴項,將會看到相反的結果。