diff options
author | Kyle Edwards <kyle.edwards@kitware.com> | 2018-12-14 22:24:52 (GMT) |
---|---|---|
committer | Kyle Edwards <kyle.edwards@kitware.com> | 2019-01-23 14:52:29 (GMT) |
commit | a6982cff0d3910723ad4fd40b9c63cf77c872d30 (patch) | |
tree | b1e69a204006b7b1521c2994ff52b6c3e79b9715 /Source/cmMakefile.h | |
parent | a7f5cd45e135dd51d67176fc40e2d769ac5f7db8 (diff) | |
download | CMake-a6982cff0d3910723ad4fd40b9c63cf77c872d30.zip CMake-a6982cff0d3910723ad4fd40b9c63cf77c872d30.tar.gz CMake-a6982cff0d3910723ad4fd40b9c63cf77c872d30.tar.bz2 |
cmMakefile: Impose maximum recursion limit
In order to keep infinitely-recursive scripts from causing a stack
overflow in the CMake executable, CMake now imposes a maximum
recursion limit before issuing an error message. The limit can be
adjusted at runtime with CMAKE_MAXIMUM_RECURSION_DEPTH.
Fixes: #18694
Diffstat (limited to 'Source/cmMakefile.h')
-rw-r--r-- | Source/cmMakefile.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index e88bb0b..2bd44e2 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -870,6 +870,9 @@ public: const char* sourceFilename) const; bool IsProjectFile(const char* filename) const; + int GetRecursionDepth() const; + void SetRecursionDepth(int recursionDepth); + protected: // add link libraries and directories to the target void AddGlobalLinkInformation(cmTarget& target); @@ -930,6 +933,7 @@ protected: private: cmStateSnapshot StateSnapshot; cmListFileBacktrace Backtrace; + int RecursionDepth; void ReadListFile(cmListFile const& listFile, const std::string& filenametoread); |