aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/buildgraph/processcommandexecutor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/corelib/buildgraph/processcommandexecutor.cpp')
-rw-r--r--src/lib/corelib/buildgraph/processcommandexecutor.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/corelib/buildgraph/processcommandexecutor.cpp b/src/lib/corelib/buildgraph/processcommandexecutor.cpp
index ac4d266aa..2442f7a70 100644
--- a/src/lib/corelib/buildgraph/processcommandexecutor.cpp
+++ b/src/lib/corelib/buildgraph/processcommandexecutor.cpp
@@ -103,10 +103,13 @@ static QProcessEnvironment mergeEnvironments(const QProcessEnvironment &baseEnv,
void ProcessCommandExecutor::doSetup()
{
- const ProcessCommand * const cmd = processCommand();
+ ProcessCommand * const cmd = processCommand();
const QString program = ExecutableFinder(transformer()->product(),
transformer()->product()->buildEnvironment)
.findExecutable(cmd->program(), cmd->workingDir());
+ cmd->clearRelevantEnvValues();
+ for (const QString &key : cmd->relevantEnvVars())
+ cmd->addRelevantEnvValue(key, transformer()->product()->buildEnvironment.value(key));
m_commandEnvironment = mergeEnvironments(m_buildEnvironment, cmd->environment());
m_program = program;
@@ -399,9 +402,9 @@ void ProcessCommandExecutor::removeResponseFile()
m_responseFileName.clear();
}
-const ProcessCommand *ProcessCommandExecutor::processCommand() const
+ProcessCommand *ProcessCommandExecutor::processCommand() const
{
- return static_cast<const ProcessCommand *>(command());
+ return static_cast<ProcessCommand *>(command());
}
} // namespace Internal