Spec-Zone.ru › CMake

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()

См. также переменную окружения CMAKE_MAXIMUM_RECURSION_DEPTH.

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/variable/CMAKE_MAXIMUM_RECURSION_DEPTH.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API