From 9b44018d520cfabc347d6d79cafdf0a37c62b4e0 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sun, 2 Aug 2015 09:54:22 +0200 Subject: cmGlobalGenerator: Convert IsExcluded to loop. --- Source/cmGlobalGenerator.cxx | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index a610b3d..b7b4fba 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -2046,27 +2046,23 @@ bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root, { assert(gen); - if(gen == root) + cmLocalGenerator* lg = gen; + while (lg) { - // No directory excludes itself. - return false; - } - - if(gen->GetMakefile()->GetPropertyAsBool("EXCLUDE_FROM_ALL")) - { - // This directory is excluded from its parent. - return true; - } + if(lg == root) + { + // No directory excludes itself. + return false; + } - cmLocalGenerator* lg = gen->GetParent(); - if (!lg) - { - return false; + if(lg->GetMakefile()->GetPropertyAsBool("EXCLUDE_FROM_ALL")) + { + // This directory is excluded from its parent. + return true; + } + lg = lg->GetParent(); } - - // This directory is included in its parent. Check whether the - // parent is excluded. - return this->IsExcluded(root, lg); + return false; } bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root, -- cgit v0.12