cmInstallTargetGenerator: Port GetInstallFilename to cmGeneratorTarget.

This commit is contained in:
Stephen Kelly 2015-10-17 14:54:15 +02:00
parent 6a72b3c84e
commit 97062ac268
3 changed files with 11 additions and 15 deletions

View File

@ -399,7 +399,7 @@ cmExportInstallFileGenerator
} }
// Get the target to be installed. // Get the target to be installed.
cmTarget* target = itgen->GetTarget()->Target; cmGeneratorTarget* target = itgen->GetTarget();
// Construct the installed location of the target. // Construct the installed location of the target.
std::string dest = itgen->GetDestination(config); std::string dest = itgen->GetDestination(config);
@ -433,7 +433,7 @@ cmExportInstallFileGenerator
prop += suffix; prop += suffix;
// Append the installed file name. // Append the installed file name.
if(target->IsAppBundleOnApple()) if(target->Target->IsAppBundleOnApple())
{ {
value += itgen->GetInstallFilename(target, config); value += itgen->GetInstallFilename(target, config);
value += ".app/Contents/MacOS/"; value += ".app/Contents/MacOS/";

View File

@ -359,34 +359,31 @@ cmInstallTargetGenerator::GetInstallFilename(const std::string& config) const
{ {
NameType nameType = this->ImportLibrary? NameImplib : NameNormal; NameType nameType = this->ImportLibrary? NameImplib : NameNormal;
return return
cmInstallTargetGenerator::GetInstallFilename(this->Target->Target, config, cmInstallTargetGenerator::GetInstallFilename(this->Target, config,
nameType); nameType);
} }
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
std::string std::string
cmInstallTargetGenerator::GetInstallFilename(cmTarget const* target, cmInstallTargetGenerator::GetInstallFilename(cmGeneratorTarget const* target,
const std::string& config, const std::string& config,
NameType nameType) NameType nameType)
{ {
std::string fname; std::string fname;
// Compute the name of the library. // Compute the name of the library.
cmGeneratorTarget *gtgt = target->GetMakefile()
->GetGlobalGenerator()
->GetGeneratorTarget(target);
if(target->GetType() == cmState::EXECUTABLE) if(target->GetType() == cmState::EXECUTABLE)
{ {
std::string targetName; std::string targetName;
std::string targetNameReal; std::string targetNameReal;
std::string targetNameImport; std::string targetNameImport;
std::string targetNamePDB; std::string targetNamePDB;
gtgt->GetExecutableNames(targetName, targetNameReal, target->GetExecutableNames(targetName, targetNameReal,
targetNameImport, targetNamePDB, targetNameImport, targetNamePDB,
config); config);
if(nameType == NameImplib) if(nameType == NameImplib)
{ {
// Use the import library name. // Use the import library name.
if(!gtgt->GetImplibGNUtoMS(targetNameImport, fname, if(!target->GetImplibGNUtoMS(targetNameImport, fname,
"${CMAKE_IMPORT_LIBRARY_SUFFIX}")) "${CMAKE_IMPORT_LIBRARY_SUFFIX}"))
{ {
fname = targetNameImport; fname = targetNameImport;
@ -410,12 +407,12 @@ cmInstallTargetGenerator::GetInstallFilename(cmTarget const* target,
std::string targetNameReal; std::string targetNameReal;
std::string targetNameImport; std::string targetNameImport;
std::string targetNamePDB; std::string targetNamePDB;
gtgt->GetLibraryNames(targetName, targetNameSO, targetNameReal, target->GetLibraryNames(targetName, targetNameSO, targetNameReal,
targetNameImport, targetNamePDB, config); targetNameImport, targetNamePDB, config);
if(nameType == NameImplib) if(nameType == NameImplib)
{ {
// Use the import library name. // Use the import library name.
if(!gtgt->GetImplibGNUtoMS(targetNameImport, fname, if(!target->GetImplibGNUtoMS(targetNameImport, fname,
"${CMAKE_IMPORT_LIBRARY_SUFFIX}")) "${CMAKE_IMPORT_LIBRARY_SUFFIX}"))
{ {
fname = targetNameImport; fname = targetNameImport;
@ -585,7 +582,7 @@ cmInstallTargetGenerator
// The directory portions differ. Append the filename to // The directory portions differ. Append the filename to
// create the mapping. // create the mapping.
std::string fname = std::string fname =
this->GetInstallFilename(tgt->Target, config, NameSO); this->GetInstallFilename(tgt, config, NameSO);
// Map from the build-tree install_name. // Map from the build-tree install_name.
for_build += fname; for_build += fname;
@ -622,7 +619,7 @@ cmInstallTargetGenerator
{ {
// Prepare to refer to the install-tree install_name. // Prepare to refer to the install-tree install_name.
new_id = for_install; new_id = for_install;
new_id += this->GetInstallFilename(this->Target->Target, config, NameSO); new_id += this->GetInstallFilename(this->Target, config, NameSO);
} }
} }

View File

@ -14,7 +14,6 @@
#include "cmInstallGenerator.h" #include "cmInstallGenerator.h"
class cmTarget;
class cmGeneratorTarget; class cmGeneratorTarget;
/** \class cmInstallTargetGenerator /** \class cmInstallTargetGenerator
@ -54,7 +53,7 @@ public:
NameReal NameReal
}; };
static std::string GetInstallFilename(cmTarget const* target, static std::string GetInstallFilename(const cmGeneratorTarget* target,
const std::string& config, const std::string& config,
NameType nameType = NameNormal); NameType nameType = NameNormal);