diff options
| author | Christian Kandeler <christian.kandeler@digia.com> | 2013-04-03 11:24:27 +0200 |
|---|---|---|
| committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-04-03 12:13:05 +0200 |
| commit | bce64216ceea9c1cb9baa8a6a744fbbc62dd72c9 (patch) | |
| tree | 82ee753d780f3ba73db41adfb6dcfffefb55af8a /src/lib/buildgraph/processcommandexecutor.cpp | |
| parent | 3059ab7aeb2695d32c1a03455e376265e3af4c1c (diff) | |
| download | qbs-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.cpp | 11 |
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); |
