CMAKE_MAXIMUM_RECURSION_DEPTH¶
在 3.14 版本中新增。
CMake 腳本的最大遞迴深度。它旨在透過命令列使用 -DCMAKE_MAXIMUM_RECURSION_DEPTH=<x>
設置,或由需要較大遞迴深度的專案在 CMakeLists.txt
中設置。設置此變數的專案應為使用者提供覆寫它的方法。例如:
# About to perform deeply recursive actions
if(NOT CMAKE_MAXIMUM_RECURSION_DEPTH)
set(CMAKE_MAXIMUM_RECURSION_DEPTH 2000)
endif()
如果未設置,或設置為非整數值,則會使用合理的預設限制。如果達到遞迴限制,腳本會立即終止並發生嚴重錯誤。
呼叫以下任何命令都會增加遞迴深度
ctest_run_script()
(除非指定NEW_PROCESS
)使用者定義的
function()
和macro()
(請注意,function()
和macro()
本身不會增加遞迴深度)讀取或寫入受
variable_watch()
監視的變數
另請參閱 CMAKE_MAXIMUM_RECURSION_DEPTH
環境變數。