Factor out global generator ComputeTargetDepends method
Put the global dependency analysis in its own method so individual generators can hook into this point.
This commit is contained in:
parent
e752cff8fd
commit
6bea84353c
|
@ -863,19 +863,10 @@ void cmGlobalGenerator::Generate()
|
|||
}
|
||||
|
||||
// Compute the inter-target dependencies.
|
||||
{
|
||||
cmComputeTargetDepends ctd(this);
|
||||
if(!ctd.Compute())
|
||||
if(!this->ComputeTargetDepends())
|
||||
{
|
||||
return;
|
||||
}
|
||||
std::vector<cmTarget*> const& targets = ctd.GetTargets();
|
||||
for(std::vector<cmTarget*>::const_iterator ti = targets.begin();
|
||||
ti != targets.end(); ++ti)
|
||||
{
|
||||
ctd.GetTargetDirectDepends(*ti, this->TargetDependencies[*ti]);
|
||||
}
|
||||
}
|
||||
|
||||
// Create a map from local generator to the complete set of targets
|
||||
// it builds by default.
|
||||
|
@ -907,6 +898,23 @@ void cmGlobalGenerator::Generate()
|
|||
this->CMakeInstance->UpdateProgress("Generating done", -1);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmGlobalGenerator::ComputeTargetDepends()
|
||||
{
|
||||
cmComputeTargetDepends ctd(this);
|
||||
if(!ctd.Compute())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
std::vector<cmTarget*> const& targets = ctd.GetTargets();
|
||||
for(std::vector<cmTarget*>::const_iterator ti = targets.begin();
|
||||
ti != targets.end(); ++ti)
|
||||
{
|
||||
ctd.GetTargetDirectDepends(*ti, this->TargetDependencies[*ti]);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmGlobalGenerator::CheckTargets()
|
||||
{
|
||||
|
|
|
@ -275,6 +275,8 @@ protected:
|
|||
void SetLanguageEnabledMaps(const char* l, cmMakefile* mf);
|
||||
void FillExtensionToLanguageMap(const char* l, cmMakefile* mf);
|
||||
|
||||
virtual bool ComputeTargetDepends();
|
||||
|
||||
virtual bool CheckALLOW_DUPLICATE_CUSTOM_TARGETS();
|
||||
|
||||
bool CheckTargets();
|
||||
|
|
Loading…
Reference in New Issue