summaryrefslogtreecommitdiff
path: root/src/lib/buildgraph/processcommandexecutor.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2013-04-03 11:24:27 +0200
committerJoerg Bornemann <joerg.bornemann@digia.com>2013-04-03 12:13:05 +0200
commitbce64216ceea9c1cb9baa8a6a744fbbc62dd72c9 (patch)
tree82ee753d780f3ba73db41adfb6dcfffefb55af8a /src/lib/buildgraph/processcommandexecutor.cpp
parent3059ab7aeb2695d32c1a03455e376265e3af4c1c (diff)
downloadqbs-bce64216ceea9c1cb9baa8a6a744fbbc62dd72c9.tar.gz
Make a process' environment configurable in a prepare script.
This is needed for applications that are configured via environment variables rather than command-line arguments. Change-Id: I114f2bcd65d8551175b35ffbd4912bd37699dc89 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/lib/buildgraph/processcommandexecutor.cpp')
-rw-r--r--src/lib/buildgraph/processcommandexecutor.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/lib/buildgraph/processcommandexecutor.cpp b/src/lib/buildgraph/processcommandexecutor.cpp
index c61a8f700..122e1e993 100644
--- a/src/lib/buildgraph/processcommandexecutor.cpp
+++ b/src/lib/buildgraph/processcommandexecutor.cpp
@@ -72,11 +72,6 @@ ProcessCommandExecutor::ProcessCommandExecutor(const Logger &logger, QObject *pa
connect(&m_process, SIGNAL(finished(int)), SLOT(onProcessFinished(int)));
}
-void ProcessCommandExecutor::setProcessEnvironment(const QProcessEnvironment &processEnvironment)
-{
- m_process.setProcessEnvironment(processEnvironment);
-}
-
// returns an empty string or one that starts with a space!
static QString commandArgsToString(const QStringList &args)
{
@@ -106,6 +101,12 @@ void ProcessCommandExecutor::doStart()
program = findProcessCommandInPath();
}
+ QProcessEnvironment env = m_buildEnvironment;
+ const QProcessEnvironment &additionalVariables = cmd->environment();
+ foreach (const QString &key, additionalVariables.keys())
+ env.insert(key, additionalVariables.value(key));
+ m_process.setProcessEnvironment(env);
+
QStringList arguments = cmd->arguments();
QString argString = commandArgsToString(arguments);