diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2011-04-21 11:36:37 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2011-04-21 11:38:23 +0200 |
commit | 8a9cbffea6398f0f018f06b86c8bc6026aaf5ebb (patch) | |
tree | 4600bc925483c505f00918e1fef07cad38f50192 /src/shared | |
parent | 4e91de799125b2ca9ff51928361a6a7cd1de1b9d (diff) | |
download | qt-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.cpp | 9 | ||||
-rw-r--r-- | src/shared/proparser/profileevaluator.h | 7 |
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; |