summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2011-04-21 11:36:37 +0200
committerOswald Buddenhagen <oswald.buddenhagen@nokia.com>2011-04-21 11:38:23 +0200
commit8a9cbffea6398f0f018f06b86c8bc6026aaf5ebb (patch)
tree4600bc925483c505f00918e1fef07cad38f50192 /src/shared
parent4e91de799125b2ca9ff51928361a6a7cd1de1b9d (diff)
downloadqt-creator-8a9cbffea6398f0f018f06b86c8bc6026aaf5ebb.tar.gz
use environment from build config also when starting external processes
this uses QProcessEnvironment directly, which is somewhat inefficient, but it has no big impact, and it can be optimized on the qt side. Task-number: QTCREATORBUG-2866
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/proparser/profileevaluator.cpp9
-rw-r--r--src/shared/proparser/profileevaluator.h7
2 files changed, 9 insertions, 7 deletions
diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index 3d0d8581a9..100d833d09 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -48,9 +48,6 @@
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QTextStream>
-#ifndef QT_BOOTSTRAPPED
-# include <QtCore/QProcess>
-#endif
#ifdef PROEVALUATOR_THREAD_SAFE
# include <QtCore/QThreadPool>
#endif
@@ -168,10 +165,8 @@ void ProFileOption::applyHostMode()
QString ProFileOption::getEnv(const QString &var) const
{
+#ifndef QT_BOOTSTRAPPED
if (!environment.isEmpty())
-#ifdef Q_OS_WIN
- return environment.value(var.toUpper());
-#else
return environment.value(var);
#endif
return QString::fromLocal8Bit(qgetenv(var.toLocal8Bit().constData()));
@@ -1538,6 +1533,8 @@ void ProFileEvaluator::Private::runProcess(QProcess *proc, const QString &comman
QProcess::ProcessChannel chan) const
{
proc->setWorkingDirectory(currentDirectory());
+ if (!m_option->environment.isEmpty())
+ proc->setProcessEnvironment(m_option->environment);
# ifdef Q_OS_WIN
proc->setNativeArguments(QLatin1String("/v:off /s /c \"") + command + QLatin1Char('"'));
proc->start(m_option->getEnv(QLatin1String("COMSPEC")), QStringList());
diff --git a/src/shared/proparser/profileevaluator.h b/src/shared/proparser/profileevaluator.h
index b6739dc4d5..725664de41 100644
--- a/src/shared/proparser/profileevaluator.h
+++ b/src/shared/proparser/profileevaluator.h
@@ -37,6 +37,9 @@
#include <QtCore/QHash>
#include <QtCore/QStringList>
+#ifndef QT_BOOTSTRAPPED
+# include <QtCore/QProcess>
+#endif
#ifdef PROEVALUATOR_THREAD_SAFE
# include <QtCore/QMutex>
# include <QtCore/QWaitCondition>
@@ -168,7 +171,9 @@ struct ProFileOption
QString qmakespec;
QString cachefile;
QHash<QString, QString> properties;
- QHash<QString, QString> environment;
+#ifndef QT_BOOTSTRAPPED
+ QProcessEnvironment environment;
+#endif
QString sysroot;
//QString pro_ext;