cmGlobalGenerator: Create a new Compute step before generation.

Replace the DoGenerate method.
This commit is contained in:
Stephen Kelly 2015-07-25 18:43:28 +02:00 committed by Brad King
parent 1ef9b2b600
commit 29e8b7bfcc
3 changed files with 5 additions and 7 deletions

View File

@ -1212,7 +1212,7 @@ bool cmGlobalGenerator::CheckALLOW_DUPLICATE_CUSTOM_TARGETS() const
return false; return false;
} }
void cmGlobalGenerator::DoGenerate() void cmGlobalGenerator::Compute()
{ {
// Some generators track files replaced during the Generate. // Some generators track files replaced during the Generate.
// Start with an empty vector: // Start with an empty vector:
@ -1220,8 +1220,6 @@ void cmGlobalGenerator::DoGenerate()
// clear targets to issue warning CMP0042 for // clear targets to issue warning CMP0042 for
this->CMP0042WarnTargets.clear(); this->CMP0042WarnTargets.clear();
this->Generate();
} }
void cmGlobalGenerator::Generate() void cmGlobalGenerator::Generate()

View File

@ -86,6 +86,7 @@ public:
*/ */
virtual void Configure(); virtual void Configure();
void Compute();
enum TargetTypes { enum TargetTypes {
AllTargets, AllTargets,
@ -99,7 +100,7 @@ public:
* basically creates a series of LocalGenerators for each directory and * basically creates a series of LocalGenerators for each directory and
* requests that they Generate. * requests that they Generate.
*/ */
void DoGenerate(); virtual void Generate();
/** /**
* Set/Get and Clear the enabled languages. * Set/Get and Clear the enabled languages.
@ -368,8 +369,6 @@ public:
std::string MakeSilentFlag; std::string MakeSilentFlag;
protected: protected:
virtual void Generate();
typedef std::vector<cmLocalGenerator*> GeneratorVector; typedef std::vector<cmLocalGenerator*> GeneratorVector;
// for a project collect all its targets by following depend // for a project collect all its targets by following depend
// information, and also collect all the targets // information, and also collect all the targets

View File

@ -1607,7 +1607,8 @@ int cmake::Generate()
{ {
return -1; return -1;
} }
this->GlobalGenerator->DoGenerate(); this->GlobalGenerator->Compute();
this->GlobalGenerator->Generate();
if ( !this->GraphVizFile.empty() ) if ( !this->GraphVizFile.empty() )
{ {
std::cout << "Generate graphviz: " << this->GraphVizFile << std::endl; std::cout << "Generate graphviz: " << this->GraphVizFile << std::endl;