Also detect QtCore when located next to qmake

This commit is contained in:
Tobias Hunger
2011-03-02 12:25:22 +01:00
parent 35847fda82
commit 586d1440be

View File

@@ -1587,23 +1587,27 @@ QString QtVersion::resolveLink(const QString &path) const
QString QtVersion::qtCorePath() const QString QtVersion::qtCorePath() const
{ {
QDir libDir(libraryInstallPath()); QList<QDir> dirs;
QFileInfoList infoList = libDir.entryInfoList(); dirs << QDir(libraryInstallPath()) << QDir(versionInfo().value(QLatin1String("QT_INSTALL_BINS")));
foreach (const QFileInfo &info, infoList) { foreach (const QDir &d, dirs) {
const QString file = info.fileName(); QFileInfoList infoList = d.entryInfoList();
if (info.isDir() foreach (const QFileInfo &info, infoList) {
&& file.startsWith(QLatin1String("QtCore")) const QString file = info.fileName();
&& file.endsWith(QLatin1String(".framework"))) { if (info.isDir()
// handle Framework && file.startsWith(QLatin1String("QtCore"))
const QString libName = file.left(file.lastIndexOf('.')); && file.endsWith(QLatin1String(".framework"))) {
return libDir.absoluteFilePath(file + '/' + libName); // handle Framework
} const QString libName = file.left(file.lastIndexOf('.'));
if (info.isReadable() return info.absoluteFilePath() + '/' + libName;
&& (file.startsWith(QLatin1String("libQtCore")) }
|| file.startsWith(QLatin1String("QtCore"))) if (info.isReadable()
&& (file.endsWith(QLatin1String(".dll")) && (file.startsWith(QLatin1String("libQtCore"))
|| file.endsWith(QString::fromLatin1(".so.") + qtVersionString()))) { || file.startsWith(QLatin1String("QtCore")))
return info.absoluteFilePath(); && (file.endsWith(QLatin1String(".dll"))
|| file.endsWith(QString::fromLatin1(".so.") + qtVersionString())
|| file.endsWith(".la"))) {
return info.absoluteFilePath();
}
} }
} }
return QString(); return QString();