| CMAKE_MAXIMUM_RECURSION_DEPTH |
| ----------------------------- |
| |
| Maximum recursion depth for CMake scripts. It is intended to be set on the |
| command line with ``-DCMAKE_MAXIMUM_RECURSION_DEPTH=<x>``, or within |
| ``CMakeLists.txt`` by projects that require a large recursion depth. Projects |
| that set this variable should provide the user with a way to override it. For |
| example: |
| |
| .. code-block:: cmake |
| |
| # About to perform deeply recursive actions |
| if(NOT CMAKE_MAXIMUM_RECURSION_DEPTH) |
| set(CMAKE_MAXIMUM_RECURSION_DEPTH 2000) |
| endif() |
| |
| If it is not set, or is set to a non-integer value, a sensible default limit is |
| used. If the recursion limit is reached, the script terminates immediately with |
| a fatal error. |
| |
| Calling any of the following commands increases the recursion depth: |
| |
| * :command:`include` |
| * :command:`find_package` |
| * :command:`add_subdirectory` |
| * :command:`try_compile` |
| * :command:`ctest_read_custom_files` |
| * :command:`ctest_run_script` (unless ``NEW_PROCESS`` is specified) |
| * User-defined :command:`function`'s and :command:`macro`'s (note that |
| :command:`function` and :command:`macro` themselves don't increase recursion |
| depth) |
| * Reading or writing variables that are being watched by a |
| :command:`variable_watch` |