Prechádzať zdrojové kódy

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.
Kyle Edwards 6 rokov pred
rodič
commit
b133d14fb1

+ 3 - 1
Source/cmGlobalGenerator.cxx

@@ -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;
+      }
     }
   }
 

+ 3 - 2
Source/cmInstallDirectoryGenerator.cxx

@@ -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,

+ 1 - 1
Source/cmInstallDirectoryGenerator.h

@@ -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;
 

+ 2 - 1
Source/cmInstallExportAndroidMKGenerator.cxx

@@ -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)

+ 1 - 1
Source/cmInstallExportAndroidMKGenerator.h

@@ -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);

+ 2 - 1
Source/cmInstallExportGenerator.cxx

@@ -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()

+ 1 - 1
Source/cmInstallExportGenerator.h

@@ -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; }
 

+ 2 - 1
Source/cmInstallFilesGenerator.cxx

@@ -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(

+ 1 - 1
Source/cmInstallFilesGenerator.h

@@ -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;
 

+ 1 - 1
Source/cmInstallGenerator.h

@@ -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;

+ 3 - 1
Source/cmInstallScriptGenerator.cxx

@@ -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,

+ 1 - 1
Source/cmInstallScriptGenerator.h

@@ -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;

+ 2 - 1
Source/cmInstallSubdirectoryGenerator.cxx

@@ -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)

+ 1 - 1
Source/cmInstallSubdirectoryGenerator.h

@@ -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;

+ 3 - 1
Source/cmInstallTargetGenerator.cxx

@@ -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,

+ 1 - 1
Source/cmInstallTargetGenerator.h

@@ -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; }