From facd4c360fe734095d67f5f44fe8352a1e346e53 Mon Sep 17 00:00:00 2001 From: Pawel Polanski <pawel.3.polanski@nokia.com> Date: Thu, 17 Mar 2011 11:47:44 +0100 Subject: [PATCH] Symbian: SIS files are not created per project now Reviewed-by: Daniel Teske --- .../qt-s60/s60deployconfiguration.cpp | 27 ++++++++++++++++--- .../qt-s60/s60deployconfiguration.h | 2 ++ src/plugins/qt4projectmanager/qt4nodes.cpp | 1 + src/plugins/qt4projectmanager/qt4nodes.h | 3 ++- 4 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp index e854368c29d..cff06330115 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp @@ -148,12 +148,31 @@ bool S60DeployConfiguration::isStaticLibrary(const Qt4ProFileNode &projectNode) return false; } +bool S60DeployConfiguration::isApplication(const Qt4ProFileNode &projectNode) const +{ + return projectNode.projectType() == ApplicationTemplate; +} + +bool S60DeployConfiguration::isDeployable(const Qt4ProFileNode &projectNode) const +{ + const QStringList &deployment(projectNode.variableValue(Deployment)); + // default_*deployment are default for DEPLOYMENT + const char * defaultDeploymentStart = "default_"; + const char * defaultDeploymentEnd = "deployment"; + + //we need to filter out the default_*deployment + for (int i = deployment.count() - 1; i >= 0; --i) { + const QString var = deployment.at(i); + if (!var.startsWith(QLatin1String(defaultDeploymentStart)) + || !var.endsWith(QLatin1String(defaultDeploymentEnd))) + return true; + } + return false; +} + bool S60DeployConfiguration::hasSisPackage(const Qt4ProFileNode &projectNode) const { - if (projectNode.projectType() != ApplicationTemplate - && projectNode.projectType() != LibraryTemplate) - return false; - return !isStaticLibrary(projectNode); + return isDeployable(projectNode) || isApplication(projectNode); } QStringList S60DeployConfiguration::signedPackages() const diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h index f5d8efd1fed..d961a978bbe 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h +++ b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h @@ -130,7 +130,9 @@ private: QString symbianTarget() const; QString createPackageName(const QString &baseName) const; bool isDebug() const; + bool isDeployable(const Qt4ProFileNode &projectNode) const; bool isStaticLibrary(const Qt4ProFileNode &projectNode) const; + bool isApplication(const Qt4ProFileNode &projectNode) const; bool hasSisPackage(const Qt4ProFileNode &projectNode) const; private: diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp index 35d5e70ad3b..406443121fd 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.cpp +++ b/src/plugins/qt4projectmanager/qt4nodes.cpp @@ -1745,6 +1745,7 @@ void Qt4ProFileNode::applyEvaluate(EvalResult evalResult, bool async) QLatin1String("QML_IMPORT_PATH"), m_projectDir); newVarValues[Makefile] = m_readerExact->values("MAKEFILE"); newVarValues[SymbianCapabilities] = m_readerExact->values("TARGET.CAPABILITY"); + newVarValues[Deployment] = m_readerExact->values("DEPLOYMENT"); if (m_varValues != newVarValues) { Qt4VariablesHash oldValues = m_varValues; diff --git a/src/plugins/qt4projectmanager/qt4nodes.h b/src/plugins/qt4projectmanager/qt4nodes.h index 369ca5a5e33..029abb8af92 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.h +++ b/src/plugins/qt4projectmanager/qt4nodes.h @@ -104,7 +104,8 @@ enum Qt4Variable { ConfigVar, QmlImportPathVar, Makefile, - SymbianCapabilities + SymbianCapabilities, + Deployment }; class Qt4PriFileNode; -- GitLab