CMAKE_DISABLE_FIND_PACKAGE_<PackageName>

用於停用 find_package() 呼叫的變數。

專案中每個非 REQUIREDfind_package() 呼叫,都可以透過將變數 CMAKE_DISABLE_FIND_PACKAGE_<PackageName> 設定為 TRUE 來停用。這可以用於在不安裝可選套件的情況下建置專案,即使該套件已安裝。

此開關應在初始 CMake 執行期間使用。否則,如果套件已在先前的 CMake 執行中找到,則儲存在快取中的變數仍會存在。在這種情況下,建議使用快取編輯器或 cmake -U 從快取中移除此套件的快取變數。

請注意,此變數可能會導致專案內部的結果不一致。考慮在專案中兩個不同位置透過 find_package() 請求依賴項的情況。如果第一個呼叫沒有 REQUIRED 關鍵字,當 CMAKE_DISABLE_FIND_PACKAGE_<PackageName> 設定為該依賴項為 true 時,它將找不到該依賴項。專案將在假設依賴項不可用的情況下繼續執行。如果專案中其他地方的第二個呼叫*確實*有 REQUIRED 關鍵字,它可能會成功。同一個專案的兩個不同部分,對於相同的依賴項,將會看到相反的結果。

另請參閱 CMAKE_REQUIRE_FIND_PACKAGE_<PackageName> 變數。