From e846e7031fd16ac3e3418ca3a6871aa3f1b6a822 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Mon, 27 Feb 2012 01:04:43 +0400 Subject: [PATCH] exports: Remove cmTargetExport constructor The constructor was used exactly once. Setting members explicitly makes the code more readable. --- Source/cmGlobalGenerator.cxx | 12 ++---------- Source/cmGlobalGenerator.h | 8 +------- Source/cmInstallCommand.cxx | 20 ++++++++++++++++++++ Source/cmTargetExport.h | 12 ------------ 4 files changed, 23 insertions(+), 29 deletions(-) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index a209ab651..77274dcdb 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/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) + cmTargetExport *te) { - if ((exportSetName) && (*exportSetName) && (target)) + if ((exportSetName) && (*exportSetName) && (te)) { - cmTargetExport* te = new cmTargetExport(target, archive, runTime, library, - framework, bundle, headers); this->ExportSets[exportSetName].push_back(te); } } diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h index b0c70590e..29f11e1b8 100644 --- a/Source/cmGlobalGenerator.h +++ b/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* GetExportSet(const char* name) const; diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx index 401673460..de92538f9 100644 --- a/Source/cmInstallCommand.cxx +++ b/Source/cmInstallCommand.cxx @@ -17,6 +17,7 @@ #include "cmInstallTargetGenerator.h" #include "cmInstallExportGenerator.h" #include "cmInstallCommandArguments.h" +#include "cmTargetExport.h" #include @@ -731,6 +732,24 @@ bool cmInstallCommand::HandleTargetsMode(std::vector 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 = ⌖ + 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 const& args) } } + // Tell the global generator about any installation component names // specified if (installsArchive) diff --git a/Source/cmTargetExport.h b/Source/cmTargetExport.h index ad677b04b..c9d87fb7e 100644 --- a/Source/cmTargetExport.h +++ b/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