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
环境变量。