diff options
author | Oswald Buddenhagen <[email protected]> | 2012-06-18 18:16:50 +0200 |
---|---|---|
committer | Oswald Buddenhagen <[email protected]> | 2012-07-09 21:17:36 +0200 |
commit | 0e6f6e3ca58e5418dc83fc19382855184c8de970 (patch) | |
tree | 8df2888ec8249d1c396dddc1030b87978965bfcc /src | |
parent | cfb11436bf0e86d1de22b2002d381c6c09dde161 (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.cpp | 4 | ||||
-rw-r--r-- | src/shared/proparser/qmakeevaluator.cpp | 2 | ||||
-rw-r--r-- | src/shared/proparser/qmakeglobals.cpp | 6 | ||||
-rw-r--r-- | src/shared/proparser/qmakeglobals.h | 3 |
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 |