From 26e9569a6c000fd7a1885652f485691b76b9bafc Mon Sep 17 00:00:00 2001 From: ck <qt-info@nokia.com> Date: Wed, 5 May 2010 09:12:25 +0200 Subject: [PATCH] Maemo: Deduce correct target file name for library template. --- .../qt-maemo/maemopackagecontents.cpp | 12 ++++++++++-- .../qt-maemo/maemopackagecreationstep.cpp | 14 +++++++++++--- .../qt-maemo/maemopackagecreationstep.h | 2 +- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp index 583552a8621..1185eaf408b 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecontents.cpp @@ -33,6 +33,8 @@ #include "maemotoolchain.h" #include <qt4projectmanager/qt4buildconfiguration.h> +#include <qt4projectmanager/qt4project.h> +#include <qt4projectmanager/qt4target.h> #include <QtCore/QDir> #include <QtCore/QFileInfo> @@ -176,8 +178,14 @@ void MaemoPackageContents::fromMap(const QVariantMap &map) QString MaemoPackageContents::remoteExecutableFilePath() const { if (m_remoteExecutableFilePath.isEmpty()) { - m_remoteExecutableFilePath = QLatin1String("/usr/local/bin/") - + m_packageStep->executableFileName(); + const Qt4ProjectType projectType + = 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; } diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp index 47a43892f54..61ca0edc213 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp @@ -254,14 +254,22 @@ QString MaemoPackageCreationStep::localExecutableFilePath() const ->qt4Project()->rootProjectNode()->targetInformation(); if (!ti.valid) return QString(); - return QDir::toNativeSeparators(QDir::cleanPath(ti.workingDir - + QLatin1Char('/') + ti.target)); + + QLatin1Char('/') + executableFileName())); } 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 diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h index 60f2bbce526..f0945db1ddf 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h @@ -67,6 +67,7 @@ public: QString localExecutableFilePath() const; QString executableFileName() const; MaemoPackageContents *packageContents() const { return m_packageContents; } + const Qt4BuildConfiguration *qt4BuildConfiguration() const; private: MaemoPackageCreationStep(ProjectExplorer::BuildConfiguration *buildConfig, @@ -81,7 +82,6 @@ private: bool createPackage(); bool runCommand(QProcess &proc, const QString &command); - const Qt4BuildConfiguration *qt4BuildConfiguration() const; const MaemoToolChain *maemoToolChain() const; QString maddeRoot() const; QString targetRoot() const; -- GitLab