exports: Remove cmTargetExport constructor

The constructor was used exactly once.
Setting members explicitly makes the code more readable.
This commit is contained in:
Yury G. Kudryashov 2012-02-27 01:04:43 +04:00 committed by Brad King
parent 81c66c8b88
commit e846e7031f
4 changed files with 23 additions and 29 deletions

View File

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

View File

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

View File

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

View File

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