cmGlobalGenerator: Refactor IsExcluded.

Make it easier to convert it to a loop.
This commit is contained in:
Stephen Kelly 2015-08-02 09:51:56 +02:00
parent 95925a60fc
commit 5f05b56284
1 changed files with 10 additions and 2 deletions

View File

@ -2044,7 +2044,9 @@ void cmGlobalGenerator::SetConfiguredFilesPath(cmGlobalGenerator* gen)
bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root, bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root,
cmLocalGenerator* gen) const cmLocalGenerator* gen) const
{ {
if(!gen || gen == root) assert(gen);
if(gen == root)
{ {
// No directory excludes itself. // No directory excludes itself.
return false; return false;
@ -2056,9 +2058,15 @@ bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root,
return true; return true;
} }
cmLocalGenerator* lg = gen->GetParent();
if (!lg)
{
return false;
}
// This directory is included in its parent. Check whether the // This directory is included in its parent. Check whether the
// parent is excluded. // parent is excluded.
return this->IsExcluded(root, gen->GetParent()); return this->IsExcluded(root, lg);
} }
bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root, bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root,