aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorOswald Buddenhagen <[email protected]>2012-06-18 18:16:50 +0200
committerOswald Buddenhagen <[email protected]>2012-07-09 21:17:36 +0200
commit0e6f6e3ca58e5418dc83fc19382855184c8de970 (patch)
tree8df2888ec8249d1c396dddc1030b87978965bfcc /src
parentcfb11436bf0e86d1de22b2002d381c6c09dde161 (diff)
make $$QMAKE_QMAKE available to projects
not setting it outside the main project processing, as it's even less likely to be needed there. Change-Id: Ia7afe3a53bf0977d739bf23d7cd79e3a2aee8867 Reviewed-by: Daniel Teske <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qt4projectmanager/qt4project.cpp4
-rw-r--r--src/shared/proparser/qmakeevaluator.cpp2
-rw-r--r--src/shared/proparser/qmakeglobals.cpp6
-rw-r--r--src/shared/proparser/qmakeglobals.h3
4 files changed, 10 insertions, 5 deletions
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 49a3cecdda5..1671ebbe12f 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -943,8 +943,10 @@ QtSupport::ProFileReader *Qt4Project::createProFileReader(Qt4ProFileNode *qt4Pro
QString systemRoot = SysRootProfileInformation::hasSysRoot(p)
? SysRootProfileInformation::sysRoot(p).toString() : QString();
- if (qtVersion && qtVersion->isValid())
+ if (qtVersion && qtVersion->isValid()) {
+ m_qmakeGlobals->qmake_abslocation = QDir::cleanPath(qtVersion->qmakeCommand().toString());
m_qmakeGlobals->setProperties(qtVersion->versionInfo());
+ }
m_qmakeGlobals->sysroot = systemRoot;
Utils::Environment::const_iterator eit = env.constBegin(), eend = env.constEnd();
diff --git a/src/shared/proparser/qmakeevaluator.cpp b/src/shared/proparser/qmakeevaluator.cpp
index c540e9dff24..59a6b039c36 100644
--- a/src/shared/proparser/qmakeevaluator.cpp
+++ b/src/shared/proparser/qmakeevaluator.cpp
@@ -859,6 +859,8 @@ void QMakeEvaluator::loadDefaults()
vars[ProString("DIR_SEPARATOR")] << ProString(m_option->dir_sep, NoHash);
vars[ProString("DIRLIST_SEPARATOR")] << ProString(m_option->dirlist_sep, NoHash);
vars[ProString("_DATE_")] << ProString(QDateTime::currentDateTime().toString(), NoHash);
+ if (!m_option->qmake_abslocation.isEmpty())
+ vars[ProString("QMAKE_QMAKE")] << ProString(m_option->qmake_abslocation, NoHash);
#if defined(Q_OS_WIN32)
vars[ProString("QMAKE_HOST.os")] << ProString("Windows", NoHash);
diff --git a/src/shared/proparser/qmakeglobals.cpp b/src/shared/proparser/qmakeglobals.cpp
index 06be49e76cd..7d992e0ff22 100644
--- a/src/shared/proparser/qmakeglobals.cpp
+++ b/src/shared/proparser/qmakeglobals.cpp
@@ -184,17 +184,17 @@ QString QMakeGlobals::expandEnvVars(const QString &str) const
}
#ifdef PROEVALUATOR_INIT_PROPS
-bool QMakeGlobals::initProperties(const QString &qmake)
+bool QMakeGlobals::initProperties()
{
QByteArray data;
#ifndef QT_BOOTSTRAPPED
QProcess proc;
- proc.start(qmake, QStringList() << QLatin1String("-query"));
+ proc.start(qmake_abslocation, QStringList() << QLatin1String("-query"));
if (!proc.waitForFinished())
return false;
data = proc.readAll();
#else
- if (FILE *proc = QT_POPEN(QString(IoUtils::shellQuote(qmake) + QLatin1String(" -query"))
+ if (FILE *proc = QT_POPEN(QString(IoUtils::shellQuote(qmake_abslocation) + QLatin1String(" -query"))
.toLocal8Bit(), "r")) {
char buff[1024];
while (!feof(proc))
diff --git a/src/shared/proparser/qmakeglobals.h b/src/shared/proparser/qmakeglobals.h
index 11b85bebca0..b21c4289f82 100644
--- a/src/shared/proparser/qmakeglobals.h
+++ b/src/shared/proparser/qmakeglobals.h
@@ -84,13 +84,14 @@ public:
QProcessEnvironment environment;
#endif
QString sysroot;
+ QString qmake_abslocation;
QString user_template, user_template_prefix;
// -nocache, -cache, -spec, QMAKESPEC
// -set persistent value
void setCommandLineArguments(const QStringList &args);
#ifdef PROEVALUATOR_INIT_PROPS
- bool initProperties(const QString &qmake);
+ bool initProperties();
#else
void setProperties(const QHash<QString, QString> &props);
#endif