cmGlobalGenerator: Extract new IsExcluded overload.

This commit is contained in:
Stephen Kelly 2015-08-02 09:58:57 +02:00
parent 45f5200396
commit be56feb618
2 changed files with 16 additions and 6 deletions

View File

@ -2041,13 +2041,10 @@ void cmGlobalGenerator::SetConfiguredFilesPath(cmGlobalGenerator* gen)
} }
} }
bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root, bool cmGlobalGenerator::IsExcluded(cmState::Snapshot const& rootSnp,
cmLocalGenerator* gen) const cmState::Snapshot const& snp_) const
{ {
assert(gen); cmState::Snapshot snp = snp_;
cmState::Snapshot rootSnp = root->GetStateSnapshot();
cmState::Snapshot snp = gen->GetStateSnapshot();
while (snp.IsValid()) while (snp.IsValid())
{ {
if(snp == rootSnp) if(snp == rootSnp)
@ -2066,6 +2063,17 @@ bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root,
return false; return false;
} }
bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root,
cmLocalGenerator* gen) const
{
assert(gen);
cmState::Snapshot rootSnp = root->GetStateSnapshot();
cmState::Snapshot snp = gen->GetStateSnapshot();
return this->IsExcluded(rootSnp, snp);
}
bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root, bool cmGlobalGenerator::IsExcluded(cmLocalGenerator* root,
cmGeneratorTarget* target) const cmGeneratorTarget* target) const
{ {

View File

@ -396,6 +396,8 @@ protected:
// has been populated. // has been populated.
void FillProjectMap(); void FillProjectMap();
void CheckLocalGenerators(); void CheckLocalGenerators();
bool IsExcluded(cmState::Snapshot const& root,
cmState::Snapshot const& snp) const;
bool IsExcluded(cmLocalGenerator* root, cmLocalGenerator* gen) const; bool IsExcluded(cmLocalGenerator* root, cmLocalGenerator* gen) const;
bool IsExcluded(cmLocalGenerator* root, cmGeneratorTarget* target) const; bool IsExcluded(cmLocalGenerator* root, cmGeneratorTarget* target) const;
virtual void InitializeProgressMarks() {} virtual void InitializeProgressMarks() {}