Kaynağa Gözat

exports: Remove cmTargetExport constructor

The constructor was used exactly once.
Setting members explicitly makes the code more readable.
Yury G. Kudryashov 13 yıl önce
ebeveyn
işleme
e846e7031f

+ 4 - 12
Source/cmGlobalGenerator.cxx

@@ -1467,18 +1467,10 @@ void cmGlobalGenerator::AddInstallComponent(const char* component)
 }
 
 void cmGlobalGenerator::AddTargetToExports(const char* exportSetName,
-                                           cmTarget* target,
-                                           cmInstallTargetGenerator* archive,
-                                           cmInstallTargetGenerator* runTime,
-                                           cmInstallTargetGenerator* library,
-                                           cmInstallTargetGenerator* framework,
-                                           cmInstallTargetGenerator* bundle,
-                                           cmInstallFilesGenerator* headers)
-{
-  if ((exportSetName) && (*exportSetName) && (target))
-    {
-    cmTargetExport* te = new cmTargetExport(target, archive, runTime, library,
-                                            framework, bundle, headers);
+                                           cmTargetExport *te)
+{
+  if ((exportSetName) && (*exportSetName) && (te))
+    {
     this->ExportSets[exportSetName].push_back(te);
     }
 }

+ 1 - 7
Source/cmGlobalGenerator.h

@@ -154,13 +154,7 @@ public:
     { return &this->InstallComponents; }
 
   ///! Add one installed target to the sets of the exports
-  void AddTargetToExports(const char* exportSet, cmTarget* target,
-                          cmInstallTargetGenerator* archive,
-                          cmInstallTargetGenerator* runTime,
-                          cmInstallTargetGenerator* library,
-                          cmInstallTargetGenerator* framework,
-                          cmInstallTargetGenerator* bundle,
-                          cmInstallFilesGenerator* publicHeaders);
+  void AddTargetToExports(const char* exportSet, cmTargetExport* te);
   ///! Get the export target set with the   given name
   const std::vector<cmTargetExport*>* GetExportSet(const char* name) const;
 

+ 20 - 0
Source/cmInstallCommand.cxx

@@ -17,6 +17,7 @@
 #include "cmInstallTargetGenerator.h"
 #include "cmInstallExportGenerator.h"
 #include "cmInstallCommandArguments.h"
+#include "cmTargetExport.h"
 
 #include <cmsys/Glob.hxx>
 
@@ -731,6 +732,24 @@ bool cmInstallCommand::HandleTargetsMode(std::vector<std::string> const& args)
     this->Makefile->AddInstallGenerator(publicHeaderGenerator);
     this->Makefile->AddInstallGenerator(resourceGenerator);
 
+    // Add this install rule to an export if one was specified and
+    // this is not a namelink-only rule.
+    if(!exports.GetString().empty() && !namelinkOnly)
+      {
+      cmTargetExport *te = new cmTargetExport;
+      te->Target = &target;
+      te->ArchiveGenerator = archiveGenerator;
+      te->BundleGenerator = bundleGenerator;
+      te->FrameworkGenerator = frameworkGenerator;
+      te->HeaderGenerator = publicHeaderGenerator;
+      te->LibraryGenerator = libraryGenerator;
+      te->RuntimeGenerator = runtimeGenerator;
+      this->Makefile->GetLocalGenerator()->GetGlobalGenerator()
+        ->AddTargetToExports(exports.GetCString(), te);
+      }
+    }
+
+
     // Add this install rule to an export if one was specified and
     // this is not a namelink-only rule.
     if(!exports.GetString().empty() && !namelinkOnly)
@@ -743,6 +762,7 @@ bool cmInstallCommand::HandleTargetsMode(std::vector<std::string> const& args)
       }
     }
 
+
   // Tell the global generator about any installation component names
   // specified
   if (installsArchive)

+ 0 - 12
Source/cmTargetExport.h

@@ -23,18 +23,6 @@ class cmInstallFilesGenerator;
 class cmTargetExport
 {
 public:
-  cmTargetExport(cmTarget* tgt,
-                 cmInstallTargetGenerator* archive,
-                 cmInstallTargetGenerator* runtime,
-                 cmInstallTargetGenerator* library,
-                 cmInstallTargetGenerator* framework,
-                 cmInstallTargetGenerator* bundle,
-                 cmInstallFilesGenerator* headers
-                ) : Target(tgt), ArchiveGenerator(archive),
-                    RuntimeGenerator(runtime), LibraryGenerator(library),
-                    FrameworkGenerator(framework), BundleGenerator(bundle),
-                    HeaderGenerator(headers) {}
-
   cmTarget* Target; ///< The target
 
   ///@name Generators