diff options
-rw-r--r-- | qmake/option.cpp | 13 | ||||
-rw-r--r-- | src/corelib/global/qlibraryinfo.cpp | 5 |
2 files changed, 14 insertions, 4 deletions
diff --git a/qmake/option.cpp b/qmake/option.cpp index 9c435efb89..2a3fea8a89 100644 --- a/qmake/option.cpp +++ b/qmake/option.cpp @@ -174,7 +174,7 @@ bool usage(const char *a0) " -set <prop> <value> Set persistent property\n" " -unset <prop> Unset persistent property\n" " -query <prop> Query persistent property. Show all if <prop> is empty.\n" - " -qtconf file Use file instead of looking for qt.conf\n" + " -qtconf file Use file instead of looking for qt" QT_STRINGIFY(QT_VERSION_MAJOR) ".conf, then qt.conf\n" " -cache file Use file as cache [makefile mode only]\n" " -spec spec Use spec as QMAKESPEC [makefile mode only]\n" " -nocache Don't use a cache file [makefile mode only]\n" @@ -660,8 +660,15 @@ QString qmake_libraryInfoFile() { if (!Option::globals->qtconf.isEmpty()) return Option::globals->qtconf; - if (!Option::globals->qmake_abslocation.isEmpty()) - return QDir(QFileInfo(Option::globals->qmake_abslocation).absolutePath()).filePath("qt.conf"); + if (!Option::globals->qmake_abslocation.isEmpty()) { + QDir dir(QFileInfo(Option::globals->qmake_abslocation).absolutePath()); + QString qtconfig = dir.filePath("qt" QT_STRINGIFY(QT_VERSION_MAJOR) ".conf"); + if (QFile::exists(qtconfig)) + return qtconfig; + qtconfig = dir.filePath("qt.conf"); + if (QFile::exists(qtconfig)) + return qtconfig; + } return QString(); } diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp index 301c3ab89a..bb1eafeccd 100644 --- a/src/corelib/global/qlibraryinfo.cpp +++ b/src/corelib/global/qlibraryinfo.cpp @@ -184,7 +184,7 @@ QSettings *QLibraryInfoPrivate::findConfiguration() { #ifdef QT_BUILD_QMAKE QString qtconfig = qmake_libraryInfoFile(); - if (QFile::exists(qtconfig)) + if (!qtconfig.isEmpty()) return new QSettings(qtconfig, QSettings::IniFormat); #else QString qtconfig = QStringLiteral(":/qt/etc/qt.conf"); @@ -207,6 +207,9 @@ QSettings *QLibraryInfoPrivate::findConfiguration() #endif if (QCoreApplication::instance()) { QDir pwd(QCoreApplication::applicationDirPath()); + qtconfig = pwd.filePath(QLatin1String("qt" QT_STRINGIFY(QT_VERSION_MAJOR) ".conf")); + if (QFile::exists(qtconfig)) + return new QSettings(qtconfig, QSettings::IniFormat); qtconfig = pwd.filePath(QLatin1String("qt.conf")); if (QFile::exists(qtconfig)) return new QSettings(qtconfig, QSettings::IniFormat); |