From 4a16cb9c38a63dd837bf40de77e170de83b3a2ba Mon Sep 17 00:00:00 2001 From: kh1 <qt-info@nokia.com> Date: Thu, 29 Jul 2010 14:42:04 +0200 Subject: [PATCH] Final step to be able to set remote environment. Task-number: QTCREATORBUG-1663 Reviewed-by: ck --- src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp | 9 +++++++++ src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h | 2 ++ .../qt4projectmanager/qt-maemo/maemoruncontrol.cpp | 6 ++++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp index fcacff25858..f3ff1273279 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp @@ -52,5 +52,14 @@ QString MaemoGlobal::remoteCommandPrefix(const QString &commandFilePath) .arg(remoteSudo()).arg(commandFilePath); } +QString MaemoGlobal::remoteEnvironment(const QList<ProjectExplorer::EnvironmentItem> &list) +{ + QString env; + QString placeHolder = QLatin1String("%1=%2 "); + foreach (const ProjectExplorer::EnvironmentItem &item, list) + env.append(placeHolder.arg(item.name).arg(item.value)); + return env.mid(0, env.size() - 1); +} + } // namespace Internal } // namespace Qt4ProjectManager diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h index ad8f5c6f0f5..c8f9225b518 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h @@ -31,6 +31,7 @@ #define MAEMOGLOBAL_H #include <projectexplorer/buildconfiguration.h> +#include <projectexplorer/environment.h> #include <QtCore/QList> @@ -47,6 +48,7 @@ public: static QString homeDirOnDevice(const QString &uname); static QString remoteSudo(); static QString remoteCommandPrefix(const QString &commandFilePath); + static QString remoteEnvironment(const QList<ProjectExplorer::EnvironmentItem> &list); template<class T> static T *buildStep(const ProjectExplorer::BuildConfiguration *bc) { diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp index 515e2230414..df08195fc25 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp @@ -113,8 +113,10 @@ void MaemoRunControl::startExecution() { emit appendMessage(this, tr("Starting remote process ..."), false); const QString &remoteExe = m_runConfig->remoteExecutableFilePath(); - m_runner->startExecution(QString::fromLocal8Bit("%1 %2 %3") - .arg(MaemoGlobal::remoteCommandPrefix(remoteExe)).arg(remoteExe) + m_runner->startExecution(QString::fromLocal8Bit("%1 %2 %3 %4") + .arg(MaemoGlobal::remoteCommandPrefix(remoteExe)) + .arg(MaemoGlobal::remoteEnvironment(m_runConfig->userEnvironmentChanges())) + .arg(remoteExe) .arg(m_runConfig->arguments().join(QLatin1String(" "))).toUtf8()); } -- GitLab