Maemo: Deduce correct target file name for library template.

This commit is contained in:
ck
2010-05-05 09:12:25 +02:00
parent ec5661c1fb
commit 26e9569a6c
3 changed files with 22 additions and 6 deletions

View File

@@ -33,6 +33,8 @@
#include "maemotoolchain.h" #include "maemotoolchain.h"
#include <qt4projectmanager/qt4buildconfiguration.h> #include <qt4projectmanager/qt4buildconfiguration.h>
#include <qt4projectmanager/qt4project.h>
#include <qt4projectmanager/qt4target.h>
#include <QtCore/QDir> #include <QtCore/QDir>
#include <QtCore/QFileInfo> #include <QtCore/QFileInfo>
@@ -176,8 +178,14 @@ void MaemoPackageContents::fromMap(const QVariantMap &map)
QString MaemoPackageContents::remoteExecutableFilePath() const QString MaemoPackageContents::remoteExecutableFilePath() const
{ {
if (m_remoteExecutableFilePath.isEmpty()) { if (m_remoteExecutableFilePath.isEmpty()) {
m_remoteExecutableFilePath = QLatin1String("/usr/local/bin/") const Qt4ProjectType projectType
+ m_packageStep->executableFileName(); = m_packageStep->qt4BuildConfiguration()->qt4Target()->qt4Project()
->rootProjectNode()->projectType();
const QString remoteDir = projectType == LibraryTemplate
? QLatin1String("/usr/local/lib/")
: QLatin1String("/usr/local/bin/");
m_remoteExecutableFilePath
= remoteDir + m_packageStep->executableFileName();
} }
return m_remoteExecutableFilePath; return m_remoteExecutableFilePath;
} }

View File

@@ -254,14 +254,22 @@ QString MaemoPackageCreationStep::localExecutableFilePath() const
->qt4Project()->rootProjectNode()->targetInformation(); ->qt4Project()->rootProjectNode()->targetInformation();
if (!ti.valid) if (!ti.valid)
return QString(); return QString();
return QDir::toNativeSeparators(QDir::cleanPath(ti.workingDir return QDir::toNativeSeparators(QDir::cleanPath(ti.workingDir
+ QLatin1Char('/') + ti.target)); + QLatin1Char('/') + executableFileName()));
} }
QString MaemoPackageCreationStep::executableFileName() const QString MaemoPackageCreationStep::executableFileName() const
{ {
return QFileInfo(localExecutableFilePath()).fileName(); const Qt4Project * const project
= qt4BuildConfiguration()->qt4Target()->qt4Project();
const TargetInformation &ti
= project->rootProjectNode()->targetInformation();
if (!ti.valid)
return QString();
return project->rootProjectNode()->projectType() == LibraryTemplate
? QLatin1String("lib") + ti.target + QLatin1String(".so")
: ti.target;
} }
const MaemoToolChain *MaemoPackageCreationStep::maemoToolChain() const const MaemoToolChain *MaemoPackageCreationStep::maemoToolChain() const

View File

@@ -67,6 +67,7 @@ public:
QString localExecutableFilePath() const; QString localExecutableFilePath() const;
QString executableFileName() const; QString executableFileName() const;
MaemoPackageContents *packageContents() const { return m_packageContents; } MaemoPackageContents *packageContents() const { return m_packageContents; }
const Qt4BuildConfiguration *qt4BuildConfiguration() const;
private: private:
MaemoPackageCreationStep(ProjectExplorer::BuildConfiguration *buildConfig, MaemoPackageCreationStep(ProjectExplorer::BuildConfiguration *buildConfig,
@@ -81,7 +82,6 @@ private:
bool createPackage(); bool createPackage();
bool runCommand(QProcess &proc, const QString &command); bool runCommand(QProcess &proc, const QString &command);
const Qt4BuildConfiguration *qt4BuildConfiguration() const;
const MaemoToolChain *maemoToolChain() const; const MaemoToolChain *maemoToolChain() const;
QString maddeRoot() const; QString maddeRoot() const;
QString targetRoot() const; QString targetRoot() const;