cmMakefile: Improve parsing of CMAKE_MAXIMUM_RECURSION_DEPTH variable

This commit is contained in:
Brad King
2023-03-09 10:17:16 -05:00
parent 497f7d5c1a
commit fcad8d0630

View File

@@ -455,12 +455,11 @@ bool cmMakefile::ExecuteCommand(const cmListFileFunction& lff,
// Check for maximum recursion depth.
int depth = CMake_DEFAULT_RECURSION_LIMIT;
cmValue depthStr = this->GetDefinition("CMAKE_MAXIMUM_RECURSION_DEPTH");
if (depthStr) {
std::istringstream s(*depthStr);
int d;
if (s >> d) {
depth = d;
if (cmValue depthStr =
this->GetDefinition("CMAKE_MAXIMUM_RECURSION_DEPTH")) {
unsigned long depthUL;
if (cmStrToULong(depthStr.GetCStr(), &depthUL)) {
depth = static_cast<int>(depthUL);
}
}
if (this->RecursionDepth > depth) {