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