From 5f05b56284f9a76aa90562186aebd383a3ca9349 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sun, 2 Aug 2015 09:51:56 +0200 Subject: cmGlobalGenerator: Refactor IsExcluded. Make it easier to convert it to a loop. --- Source/cmGlobalGenerator.cxx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index 71b00c4..a610b3d 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -2044,7 +2044,9 @@ void cmGlobalGenerator::SetConfiguredFilesPath(cmGlobalGenerator* gen) bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root, cmLocalGenerator* gen) const { - if(!gen || gen == root) + assert(gen); + + if(gen == root) { // No directory excludes itself. return false; @@ -2056,9 +2058,15 @@ bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root, return true; } + cmLocalGenerator* lg = gen->GetParent(); + if (!lg) + { + return false; + } + // This directory is included in its parent. Check whether the // parent is excluded. - return this->IsExcluded(root, gen->GetParent()); + return this->IsExcluded(root, lg); } bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root, -- cgit v0.12