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
環境變數。