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()
Если она не установлена или установлена с нецелым значением, используется разумное значение по умолчанию. Если предел рекурсии достигнут, сценарий завершается немедленно с ошибкой.
Вызов любого из следующих команд увеличивает глубину рекурсии:
include()find_package()add_subdirectory()try_compile()ctest_read_custom_files()-
ctest_run_script()(если не указаноNEW_PROCESS) - Пользовательские определённые
function()иmacro()(обратите внимание, что самиfunction()иmacro()не увеличивают глубину рекурсии) - Чтение или запись переменных, отслеживаемых с помощью
variable_watch()
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.22/variable/CMAKE_MAXIMUM_RECURSION_DEPTH.html