Refactor: Allow cmInstallGenerator::Compute() to return an error

This is preparation for an upcoming merge request, which will add
a new cmInstallGenerator that returns false if there are errors in
the Compute() step.
This commit is contained in:
Kyle Edwards 2019-03-15 11:01:59 -04:00
parent 741fb95f66
commit b133d14fb1
16 changed files with 28 additions and 17 deletions

View File

@ -1372,7 +1372,9 @@ bool cmGlobalGenerator::Compute()
for (cmLocalGenerator* localGen : this->LocalGenerators) {
cmMakefile* mf = localGen->GetMakefile();
for (cmInstallGenerator* g : mf->GetInstallGenerators()) {
g->Compute(localGen);
if (!g->Compute(localGen)) {
return false;
}
}
}

View File

@ -43,9 +43,10 @@ cmInstallDirectoryGenerator::cmInstallDirectoryGenerator(
cmInstallDirectoryGenerator::~cmInstallDirectoryGenerator() = default;
void cmInstallDirectoryGenerator::Compute(cmLocalGenerator* lg)
bool cmInstallDirectoryGenerator::Compute(cmLocalGenerator* lg)
{
LocalGenerator = lg;
this->LocalGenerator = lg;
return true;
}
void cmInstallDirectoryGenerator::GenerateScriptActions(std::ostream& os,

View File

@ -29,7 +29,7 @@ public:
bool optional = false);
~cmInstallDirectoryGenerator() override;
void Compute(cmLocalGenerator* lg) override;
bool Compute(cmLocalGenerator* lg) override;
std::string GetDestination(std::string const& config) const;

View File

@ -30,10 +30,11 @@ cmInstallExportAndroidMKGenerator::~cmInstallExportAndroidMKGenerator()
{
}
void cmInstallExportAndroidMKGenerator::Compute(cmLocalGenerator* lg)
bool cmInstallExportAndroidMKGenerator::Compute(cmLocalGenerator* lg)
{
this->LocalGenerator = lg;
this->ExportSet->Compute(lg);
return true;
}
void cmInstallExportAndroidMKGenerator::GenerateScript(std::ostream& os)

View File

@ -24,7 +24,7 @@ public:
const char* name_space, bool exportOld);
~cmInstallExportAndroidMKGenerator();
void Compute(cmLocalGenerator* lg);
bool Compute(cmLocalGenerator* lg) override;
protected:
virtual void GenerateScript(std::ostream& os);

View File

@ -45,10 +45,11 @@ cmInstallExportGenerator::~cmInstallExportGenerator()
delete this->EFGen;
}
void cmInstallExportGenerator::Compute(cmLocalGenerator* lg)
bool cmInstallExportGenerator::Compute(cmLocalGenerator* lg)
{
this->LocalGenerator = lg;
this->ExportSet->Compute(lg);
return true;
}
void cmInstallExportGenerator::ComputeTempDir()

View File

@ -34,7 +34,7 @@ public:
cmExportSet* GetExportSet() { return this->ExportSet; }
void Compute(cmLocalGenerator* lg) override;
bool Compute(cmLocalGenerator* lg) override;
cmLocalGenerator* GetLocalGenerator() const { return this->LocalGenerator; }

View File

@ -42,9 +42,10 @@ cmInstallFilesGenerator::cmInstallFilesGenerator(
cmInstallFilesGenerator::~cmInstallFilesGenerator() = default;
void cmInstallFilesGenerator::Compute(cmLocalGenerator* lg)
bool cmInstallFilesGenerator::Compute(cmLocalGenerator* lg)
{
this->LocalGenerator = lg;
return true;
}
std::string cmInstallFilesGenerator::GetDestination(

View File

@ -29,7 +29,7 @@ public:
bool optional = false);
~cmInstallFilesGenerator() override;
void Compute(cmLocalGenerator* lg) override;
bool Compute(cmLocalGenerator* lg) override;
std::string GetDestination(std::string const& config) const;

View File

@ -60,7 +60,7 @@ public:
/** Select message level from CMAKE_INSTALL_MESSAGE or 'never'. */
static MessageLevel SelectMessageLevel(cmMakefile* mf, bool never = false);
virtual void Compute(cmLocalGenerator*) {}
virtual bool Compute(cmLocalGenerator*) { return true; }
protected:
void GenerateScript(std::ostream& os) override;

View File

@ -29,7 +29,7 @@ cmInstallScriptGenerator::cmInstallScriptGenerator(const char* script,
cmInstallScriptGenerator::~cmInstallScriptGenerator() = default;
void cmInstallScriptGenerator::Compute(cmLocalGenerator* lg)
bool cmInstallScriptGenerator::Compute(cmLocalGenerator* lg)
{
this->LocalGenerator = lg;
@ -49,6 +49,8 @@ void cmInstallScriptGenerator::Compute(cmLocalGenerator* lg)
break;
}
}
return true;
}
void cmInstallScriptGenerator::AddScriptInstallRule(std::ostream& os,

View File

@ -23,7 +23,7 @@ public:
const char* component, bool exclude_from_all);
~cmInstallScriptGenerator() override;
void Compute(cmLocalGenerator* lg) override;
bool Compute(cmLocalGenerator* lg) override;
protected:
void GenerateScriptActions(std::ostream& os, Indent indent) override;

View File

@ -41,9 +41,10 @@ void cmInstallSubdirectoryGenerator::CheckCMP0082(
}
}
void cmInstallSubdirectoryGenerator::Compute(cmLocalGenerator* lg)
bool cmInstallSubdirectoryGenerator::Compute(cmLocalGenerator* lg)
{
this->LocalGenerator = lg;
return true;
}
void cmInstallSubdirectoryGenerator::GenerateScript(std::ostream& os)

View File

@ -28,7 +28,7 @@ public:
void CheckCMP0082(bool& haveSubdirectoryInstall,
bool& haveInstallAfterSubdirectory) override;
void Compute(cmLocalGenerator* lg) override;
bool Compute(cmLocalGenerator* lg) override;
protected:
void GenerateScript(std::ostream& os) override;

View File

@ -430,7 +430,7 @@ std::string cmInstallTargetGenerator::GetInstallFilename(
return fname;
}
void cmInstallTargetGenerator::Compute(cmLocalGenerator* lg)
bool cmInstallTargetGenerator::Compute(cmLocalGenerator* lg)
{
// Lookup this target in the current directory.
this->Target = lg->FindLocalNonAliasGeneratorTarget(this->TargetName);
@ -439,6 +439,8 @@ void cmInstallTargetGenerator::Compute(cmLocalGenerator* lg)
this->Target =
lg->GetGlobalGenerator()->FindGeneratorTarget(this->TargetName);
}
return true;
}
void cmInstallTargetGenerator::AddTweak(std::ostream& os, Indent indent,

View File

@ -58,7 +58,7 @@ public:
const std::string& config,
NameType nameType = NameNormal);
void Compute(cmLocalGenerator* lg) override;
bool Compute(cmLocalGenerator* lg) override;
cmGeneratorTarget* GetTarget() const { return this->Target; }