Spec-Zone.ru › CMake 3.27

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/v3.27/variable/CMAKE_MAXIMUM_RECURSION_DEPTH.html

Spec-Zone.ru

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