QtSupport: remove latin1 calls

Change-Id: I34fa89f3755740396bd8892bce96e515b5afefa5
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Tim Jenssen
2018-01-10 15:08:21 +01:00
parent 92ec21e5b5
commit f1d57a835f

View File

@@ -381,15 +381,15 @@ QString BaseQtVersion::defaultUnexpandedDisplayName(const FileName &qmakePath, b
QDir dir = qmakePath.toFileInfo().absoluteDir(); QDir dir = qmakePath.toFileInfo().absoluteDir();
do { do {
const QString dirName = dir.dirName(); const QString dirName = dir.dirName();
if (dirName == QLatin1String("usr")) { // System-installed Qt. if (dirName == "usr") { // System-installed Qt.
location = QCoreApplication::translate("QtVersion", "System"); location = QCoreApplication::translate("QtVersion", "System");
break; break;
} }
location = dirName; location = dirName;
// Also skip default checkouts named 'qt'. Parent dir might have descriptive name. // Also skip default checkouts named 'qt'. Parent dir might have descriptive name.
if (dirName.compare(QLatin1String("bin"), Qt::CaseInsensitive) if (dirName.compare("bin", Qt::CaseInsensitive)
&& dirName.compare(QLatin1String("qtbase"), Qt::CaseInsensitive) && dirName.compare("qtbase", Qt::CaseInsensitive)
&& dirName.compare(QLatin1String("qt"), Qt::CaseInsensitive)) { && dirName.compare("qt", Qt::CaseInsensitive)) {
break; break;
} }
} while (!dir.isRoot() && dir.cdUp()); } while (!dir.isRoot() && dir.cdUp());
@@ -526,7 +526,7 @@ QList<Task> BaseQtVersion::validateKit(const Kit *k)
QString qtAbiString; QString qtAbiString;
foreach (const Abi &qtAbi, qtAbis) { foreach (const Abi &qtAbi, qtAbis) {
if (!qtAbiString.isEmpty()) if (!qtAbiString.isEmpty())
qtAbiString.append(QLatin1Char(' ')); qtAbiString.append(' ');
qtAbiString.append(qtAbi.toString()); qtAbiString.append(qtAbi.toString());
if (!fullMatch) if (!fullMatch)
@@ -588,13 +588,13 @@ FileName BaseQtVersion::mkspecsPath() const
if (result.isEmpty()) if (result.isEmpty())
result = FileName::fromUserInput(qmakeProperty("QMAKE_MKSPECS")); result = FileName::fromUserInput(qmakeProperty("QMAKE_MKSPECS"));
else else
result.appendPath(QLatin1String("mkspecs")); result.appendPath("mkspecs");
return result; return result;
} }
FileName BaseQtVersion::qmlBinPath() const FileName BaseQtVersion::qmlBinPath() const
{ {
return FileName::fromUserInput(m_mkspecValues.value(QLatin1String("QT.qml.bins"))); return FileName::fromUserInput(m_mkspecValues.value("QT.qml.bins"));
} }
FileName BaseQtVersion::librarySearchPath() const FileName BaseQtVersion::librarySearchPath() const
@@ -622,13 +622,13 @@ FileNameList BaseQtVersion::directoriesToIgnoreInProjectTree() const
QString BaseQtVersion::qtNamespace() const QString BaseQtVersion::qtNamespace() const
{ {
ensureMkSpecParsed(); ensureMkSpecParsed();
return m_mkspecValues.value(QLatin1String(MKSPEC_VALUE_NAMESPACE)); return m_mkspecValues.value(MKSPEC_VALUE_NAMESPACE);
} }
QString BaseQtVersion::qtLibInfix() const QString BaseQtVersion::qtLibInfix() const
{ {
ensureMkSpecParsed(); ensureMkSpecParsed();
return m_mkspecValues.value(QLatin1String(MKSPEC_VALUE_LIBINFIX)); return m_mkspecValues.value(MKSPEC_VALUE_LIBINFIX);
} }
bool BaseQtVersion::isFrameworkBuild() const bool BaseQtVersion::isFrameworkBuild() const
@@ -654,15 +654,15 @@ void BaseQtVersion::setId(int id)
void BaseQtVersion::fromMap(const QVariantMap &map) void BaseQtVersion::fromMap(const QVariantMap &map)
{ {
m_id = map.value(QLatin1String(Constants::QTVERSIONID)).toInt(); m_id = map.value(Constants::QTVERSIONID).toInt();
if (m_id == -1) // this happens on adding from installer, see updateFromInstaller => get a new unique id if (m_id == -1) // this happens on adding from installer, see updateFromInstaller => get a new unique id
m_id = QtVersionManager::getUniqueId(); m_id = QtVersionManager::getUniqueId();
m_unexpandedDisplayName = map.value(QLatin1String(Constants::QTVERSIONNAME)).toString(); m_unexpandedDisplayName = map.value(Constants::QTVERSIONNAME).toString();
m_isAutodetected = map.value(QLatin1String(QTVERSIONAUTODETECTED)).toBool(); m_isAutodetected = map.value(QTVERSIONAUTODETECTED).toBool();
if (m_isAutodetected) if (m_isAutodetected)
m_autodetectionSource = map.value(QLatin1String(QTVERSIONAUTODETECTIONSOURCE)).toString(); m_autodetectionSource = map.value(QTVERSIONAUTODETECTIONSOURCE).toString();
QString string = map.value(QLatin1String(QTVERSIONQMAKEPATH)).toString(); QString string = map.value(QTVERSIONQMAKEPATH).toString();
if (string.startsWith(QLatin1Char('~'))) if (string.startsWith('~'))
string.remove(0, 1).prepend(QDir::homePath()); string.remove(0, 1).prepend(QDir::homePath());
QFileInfo fi(string); QFileInfo fi(string);
@@ -679,12 +679,12 @@ void BaseQtVersion::fromMap(const QVariantMap &map)
QVariantMap BaseQtVersion::toMap() const QVariantMap BaseQtVersion::toMap() const
{ {
QVariantMap result; QVariantMap result;
result.insert(QLatin1String(Constants::QTVERSIONID), uniqueId()); result.insert(Constants::QTVERSIONID, uniqueId());
result.insert(QLatin1String(Constants::QTVERSIONNAME), unexpandedDisplayName()); result.insert(Constants::QTVERSIONNAME, unexpandedDisplayName());
result.insert(QLatin1String(QTVERSIONAUTODETECTED), isAutodetected()); result.insert(QTVERSIONAUTODETECTED, isAutodetected());
if (isAutodetected()) if (isAutodetected())
result.insert(QLatin1String(QTVERSIONAUTODETECTIONSOURCE), autodetectionSource()); result.insert(QTVERSIONAUTODETECTIONSOURCE, autodetectionSource());
result.insert(QLatin1String(QTVERSIONQMAKEPATH), qmakeCommand().toString()); result.insert(QTVERSIONQMAKEPATH, qmakeCommand().toString());
return result; return result;
} }
@@ -854,16 +854,16 @@ QString BaseQtVersion::toHtml(bool verbose) const
foreach (const ProKey &key, keys) { foreach (const ProKey &key, keys) {
const QString &value = vInfo.value(key).toQString(); const QString &value = vInfo.value(key).toQString();
QString variableName = key.toQString(); QString variableName = key.toQString();
if (variableName != QLatin1String("QMAKE_MKSPECS") if (variableName != "QMAKE_MKSPECS"
&& !variableName.endsWith(QLatin1String("/raw"))) { && !variableName.endsWith("/raw")) {
bool isPath = false; bool isPath = false;
if (variableName.contains(QLatin1String("_HOST_")) if (variableName.contains("_HOST_")
|| variableName.contains(QLatin1String("_INSTALL_"))) { || variableName.contains("_INSTALL_")) {
if (!variableName.endsWith(QLatin1String("/get"))) if (!variableName.endsWith("/get"))
continue; continue;
variableName.chop(4); variableName.chop(4);
isPath = true; isPath = true;
} else if (variableName == QLatin1String("QT_SYSROOT")) { } else if (variableName == "QT_SYSROOT") {
isPath = true; isPath = true;
} }
str << "<tr><td><pre>" << variableName << "</pre></td><td>"; str << "<tr><td><pre>" << variableName << "</pre></td><td>";
@@ -937,7 +937,7 @@ QString BaseQtVersion::findHostBinary(HostBinaries binary) const
switch (binary) { switch (binary) {
case Designer: case Designer:
case Linguist: case Linguist:
baseDir = m_mkspecValues.value(QLatin1String("QT.designer.bins")); baseDir = m_mkspecValues.value("QT.designer.bins");
break; break;
case Uic: case Uic:
case QScxmlc: case QScxmlc:
@@ -951,33 +951,32 @@ QString BaseQtVersion::findHostBinary(HostBinaries binary) const
if (baseDir.isEmpty()) if (baseDir.isEmpty())
return QString(); return QString();
if (!baseDir.endsWith(QLatin1Char('/'))) if (!baseDir.endsWith('/'))
baseDir += QLatin1Char('/'); baseDir += '/';
QStringList possibleCommands; QStringList possibleCommands;
switch (binary) { switch (binary) {
case Designer: case Designer:
if (HostOsInfo::isMacHost()) if (HostOsInfo::isMacHost())
possibleCommands << QLatin1String("Designer.app/Contents/MacOS/Designer"); possibleCommands << "Designer.app/Contents/MacOS/Designer";
else else
possibleCommands << HostOsInfo::withExecutableSuffix(QLatin1String("designer")); possibleCommands << HostOsInfo::withExecutableSuffix("designer");
break; break;
case Linguist: case Linguist:
if (HostOsInfo::isMacHost()) if (HostOsInfo::isMacHost())
possibleCommands << QLatin1String("Linguist.app/Contents/MacOS/Linguist"); possibleCommands << "Linguist.app/Contents/MacOS/Linguist";
else else
possibleCommands << HostOsInfo::withExecutableSuffix(QLatin1String("linguist")); possibleCommands << HostOsInfo::withExecutableSuffix("linguist");
break; break;
case Uic: case Uic:
if (HostOsInfo::isWindowsHost()) { if (HostOsInfo::isWindowsHost()) {
possibleCommands << QLatin1String("uic.exe"); possibleCommands << "uic.exe";
} else { } else {
possibleCommands << QLatin1String("uic-qt4") << QLatin1String("uic4") possibleCommands << "uic-qt4" << "uic4" << "uic";
<< QLatin1String("uic");
} }
break; break;
case QScxmlc: case QScxmlc:
possibleCommands << HostOsInfo::withExecutableSuffix(QLatin1String("qscxmlc")); possibleCommands << HostOsInfo::withExecutableSuffix("qscxmlc");
break; break;
default: default:
Q_ASSERT(false); Q_ASSERT(false);
@@ -1018,7 +1017,7 @@ void BaseQtVersion::updateMkspec() const
m_mkspec = m_mkspec.relativeChildPath(baseMkspecDir); m_mkspec = m_mkspec.relativeChildPath(baseMkspecDir);
// qDebug() << "Setting mkspec to"<<mkspec; // qDebug() << "Setting mkspec to"<<mkspec;
} else { } else {
FileName sourceMkSpecPath = sourcePath().appendPath(QLatin1String("mkspecs")); FileName sourceMkSpecPath = sourcePath().appendPath("mkspecs");
if (m_mkspec.isChildOf(sourceMkSpecPath)) { if (m_mkspec.isChildOf(sourceMkSpecPath)) {
m_mkspec = m_mkspec.relativeChildPath(sourceMkSpecPath); m_mkspec = m_mkspec.relativeChildPath(sourceMkSpecPath);
} else { } else {
@@ -1053,25 +1052,25 @@ void BaseQtVersion::ensureMkSpecParsed() const
void BaseQtVersion::parseMkSpec(ProFileEvaluator *evaluator) const void BaseQtVersion::parseMkSpec(ProFileEvaluator *evaluator) const
{ {
m_configValues = evaluator->values(QLatin1String("CONFIG")); m_configValues = evaluator->values("CONFIG");
m_qtConfigValues = evaluator->values(QLatin1String("QT_CONFIG")); m_qtConfigValues = evaluator->values("QT_CONFIG");
m_defaultConfigIsDebugAndRelease = false; m_defaultConfigIsDebugAndRelease = false;
m_frameworkBuild = false; m_frameworkBuild = false;
foreach (const QString &value, m_configValues) { foreach (const QString &value, m_configValues) {
if (value == QLatin1String("debug")) if (value == "debug")
m_defaultConfigIsDebug = true; m_defaultConfigIsDebug = true;
else if (value == QLatin1String("release")) else if (value == "release")
m_defaultConfigIsDebug = false; m_defaultConfigIsDebug = false;
else if (value == QLatin1String("build_all")) else if (value == "build_all")
m_defaultConfigIsDebugAndRelease = true; m_defaultConfigIsDebugAndRelease = true;
else if (value == QLatin1String("qt_framework")) else if (value == "qt_framework")
m_frameworkBuild = true; m_frameworkBuild = true;
} }
const QString designerBins = QLatin1String("QT.designer.bins"); const QString designerBins = "QT.designer.bins";
const QString qmlBins = QLatin1String("QT.qml.bins"); const QString qmlBins = "QT.qml.bins";
const QString declarativeBins = QLatin1String("QT.declarative.bins"); const QString declarativeBins = "QT.declarative.bins";
const QString libinfix = QLatin1String(MKSPEC_VALUE_LIBINFIX); const QString libinfix = MKSPEC_VALUE_LIBINFIX;
const QString ns = QLatin1String(MKSPEC_VALUE_NAMESPACE); const QString ns = MKSPEC_VALUE_NAMESPACE;
m_mkspecValues.insert(designerBins, evaluator->value(designerBins)); m_mkspecValues.insert(designerBins, evaluator->value(designerBins));
m_mkspecValues.insert(qmlBins, evaluator->value(qmlBins)); m_mkspecValues.insert(qmlBins, evaluator->value(qmlBins));
m_mkspecValues.insert(declarativeBins, evaluator->value(declarativeBins)); m_mkspecValues.insert(declarativeBins, evaluator->value(declarativeBins));
@@ -1114,11 +1113,11 @@ bool BaseQtVersion::hasMkspec(const FileName &spec) const
return true; // default spec of a Qt version return true; // default spec of a Qt version
QDir mkspecDir = QDir(QDir::fromNativeSeparators(qmakeProperty("QT_HOST_DATA")) QDir mkspecDir = QDir(QDir::fromNativeSeparators(qmakeProperty("QT_HOST_DATA"))
+ QLatin1String("/mkspecs/")); + "/mkspecs/");
const QString absSpec = mkspecDir.absoluteFilePath(spec.toString()); const QString absSpec = mkspecDir.absoluteFilePath(spec.toString());
if (QFileInfo(absSpec).isDir() && QFileInfo(absSpec + "/qmake.conf").isFile()) if (QFileInfo(absSpec).isDir() && QFileInfo(absSpec + "/qmake.conf").isFile())
return true; return true;
mkspecDir.setPath(sourcePath().toString() + QLatin1String("/mkspecs/")); mkspecDir.setPath(sourcePath().toString() + "/mkspecs/");
const QString absSrcSpec = mkspecDir.absoluteFilePath(spec.toString()); const QString absSrcSpec = mkspecDir.absoluteFilePath(spec.toString());
return absSrcSpec != absSpec return absSrcSpec != absSpec
&& QFileInfo(absSrcSpec).isDir() && QFileInfo(absSrcSpec).isDir()
@@ -1230,7 +1229,7 @@ QString BaseQtVersion::qmakeProperty(const QHash<ProKey,ProString> &versionInfo,
variant == PropertyVariantGet ? "/get" : "/src")))).toQString(); variant == PropertyVariantGet ? "/get" : "/src")))).toQString();
if (!val.isNull()) if (!val.isNull())
return val; return val;
return versionInfo.value(ProKey(QString::fromLatin1(name))).toQString(); return versionInfo.value(ProKey(name)).toQString();
} }
QString BaseQtVersion::qmakeProperty(const QByteArray &name, PropertyVariant variant) const QString BaseQtVersion::qmakeProperty(const QByteArray &name, PropertyVariant variant) const
@@ -1354,7 +1353,7 @@ void BaseQtVersion::populateQmlFileFinder(FileInProjectFinder *finder, const Tar
void BaseQtVersion::addToEnvironment(const Kit *k, Environment &env) const void BaseQtVersion::addToEnvironment(const Kit *k, Environment &env) const
{ {
Q_UNUSED(k); Q_UNUSED(k);
env.set(QLatin1String("QTDIR"), QDir::toNativeSeparators(qmakeProperty("QT_HOST_DATA"))); env.set("QTDIR", QDir::toNativeSeparators(qmakeProperty("QT_HOST_DATA")));
} }
// Some Qt versions may require environment settings for qmake to work // Some Qt versions may require environment settings for qmake to work
@@ -1445,7 +1444,7 @@ static QByteArray runQmakeQuery(const FileName &binary, const Environment &env,
QProcess process; QProcess process;
process.setEnvironment(env.toStringList()); process.setEnvironment(env.toStringList());
process.start(binary.toString(), QStringList(QLatin1String("-query")), QIODevice::ReadOnly); process.start(binary.toString(), QStringList("-query"), QIODevice::ReadOnly);
if (!process.waitForStarted()) { if (!process.waitForStarted()) {
*error = QCoreApplication::translate("QtVersion", "Cannot start \"%1\": %2").arg(binary.toUserOutput()).arg(process.errorString()); *error = QCoreApplication::translate("QtVersion", "Cannot start \"%1\": %2").arg(binary.toUserOutput()).arg(process.errorString());
@@ -1512,7 +1511,7 @@ FileName BaseQtVersion::mkspecDirectoryFromVersionInfo(const QHash<ProKey, ProSt
QString dataDir = qmakeProperty(versionInfo, "QT_HOST_DATA", PropertyVariantSrc); QString dataDir = qmakeProperty(versionInfo, "QT_HOST_DATA", PropertyVariantSrc);
if (dataDir.isEmpty()) if (dataDir.isEmpty())
return FileName(); return FileName();
return FileName::fromUserInput(dataDir + QLatin1String("/mkspecs")); return FileName::fromUserInput(dataDir + "/mkspecs");
} }
FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<ProKey, ProString> &versionInfo) FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<ProKey, ProString> &versionInfo)
@@ -1524,7 +1523,7 @@ FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<ProKey, ProString> &ve
bool qt5 = false; bool qt5 = false;
QString theSpec = qmakeProperty(versionInfo, "QMAKE_XSPEC"); QString theSpec = qmakeProperty(versionInfo, "QMAKE_XSPEC");
if (theSpec.isEmpty()) if (theSpec.isEmpty())
theSpec = QLatin1String("default"); theSpec = "default";
else else
qt5 = true; qt5 = true;
@@ -1535,7 +1534,7 @@ FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<ProKey, ProString> &ve
if (HostOsInfo::isWindowsHost()) { if (HostOsInfo::isWindowsHost()) {
if (!qt5) { if (!qt5) {
QFile f2(mkspecFullPath.toString() + QLatin1String("/qmake.conf")); QFile f2(mkspecFullPath.toString() + "/qmake.conf");
if (f2.exists() && f2.open(QIODevice::ReadOnly)) { if (f2.exists() && f2.open(QIODevice::ReadOnly)) {
while (!f2.atEnd()) { while (!f2.atEnd()) {
QByteArray line = f2.readLine(); QByteArray line = f2.readLine();
@@ -1543,16 +1542,16 @@ FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<ProKey, ProString> &ve
const QList<QByteArray> &temp = line.split('='); const QList<QByteArray> &temp = line.split('=');
if (temp.size() == 2) { if (temp.size() == 2) {
QString possibleFullPath = QString::fromLocal8Bit(temp.at(1).trimmed().constData()); QString possibleFullPath = QString::fromLocal8Bit(temp.at(1).trimmed().constData());
if (possibleFullPath.contains(QLatin1Char('$'))) { // QTBUG-28792 if (possibleFullPath.contains('$')) { // QTBUG-28792
const QRegularExpression rex(QLatin1String("\\binclude\\(([^)]+)/qmake\\.conf\\)")); const QRegularExpression rex("\\binclude\\(([^)]+)/qmake\\.conf\\)");
const QRegularExpressionMatch match = rex.match(QString::fromLocal8Bit(f2.readAll())); const QRegularExpressionMatch match = rex.match(QString::fromLocal8Bit(f2.readAll()));
if (match.hasMatch()) { if (match.hasMatch()) {
possibleFullPath = mkspecFullPath.toString() + QLatin1Char('/') possibleFullPath = mkspecFullPath.toString() + '/'
+ match.captured(1); + match.captured(1);
} }
} }
// We sometimes get a mix of different slash styles here... // We sometimes get a mix of different slash styles here...
possibleFullPath = possibleFullPath.replace(QLatin1Char('\\'), QLatin1Char('/')); possibleFullPath = possibleFullPath.replace('\\', '/');
if (QFileInfo::exists(possibleFullPath)) // Only if the path exists if (QFileInfo::exists(possibleFullPath)) // Only if the path exists
mkspecFullPath = FileName::fromUserInput(possibleFullPath); mkspecFullPath = FileName::fromUserInput(possibleFullPath);
} }
@@ -1564,7 +1563,7 @@ FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<ProKey, ProString> &ve
} }
} else { } else {
if (HostOsInfo::isMacHost()) { if (HostOsInfo::isMacHost()) {
QFile f2(mkspecFullPath.toString() + QLatin1String("/qmake.conf")); QFile f2(mkspecFullPath.toString() + "/qmake.conf");
if (f2.exists() && f2.open(QIODevice::ReadOnly)) { if (f2.exists() && f2.open(QIODevice::ReadOnly)) {
while (!f2.atEnd()) { while (!f2.atEnd()) {
QByteArray line = f2.readLine(); QByteArray line = f2.readLine();
@@ -1575,7 +1574,7 @@ FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<ProKey, ProString> &ve
if (value.contains("XCODE")) { if (value.contains("XCODE")) {
// we don't want to generate xcode projects... // we don't want to generate xcode projects...
// qDebug() << "default mkspec is xcode, falling back to g++"; // qDebug() << "default mkspec is xcode, falling back to g++";
return baseMkspecDir.appendPath(QLatin1String("macx-g++")); return baseMkspecDir.appendPath("macx-g++");
} }
} }
break; break;
@@ -1603,14 +1602,14 @@ FileName BaseQtVersion::sourcePath(const QHash<ProKey, ProString> &versionInfo)
const QString installData = qmakeProperty(versionInfo, "QT_INSTALL_PREFIX"); const QString installData = qmakeProperty(versionInfo, "QT_INSTALL_PREFIX");
QString sourcePath = installData; QString sourcePath = installData;
QFile qmakeCache(installData + QLatin1String("/.qmake.cache")); QFile qmakeCache(installData + "/.qmake.cache");
if (qmakeCache.exists() && qmakeCache.open(QIODevice::ReadOnly | QIODevice::Text)) { if (qmakeCache.exists() && qmakeCache.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream stream(&qmakeCache); QTextStream stream(&qmakeCache);
while (!stream.atEnd()) { while (!stream.atEnd()) {
QString line = stream.readLine().trimmed(); QString line = stream.readLine().trimmed();
if (line.startsWith(QLatin1String("QT_SOURCE_TREE"))) { if (line.startsWith("QT_SOURCE_TREE")) {
sourcePath = line.split(QLatin1Char('=')).at(1).trimmed(); sourcePath = line.split('=').at(1).trimmed();
if (sourcePath.startsWith(QLatin1String("$$quote("))) { if (sourcePath.startsWith("$$quote(")) {
sourcePath.remove(0, 8); sourcePath.remove(0, 8);
sourcePath.chop(1); sourcePath.chop(1);
} }
@@ -1627,7 +1626,7 @@ bool BaseQtVersion::isInSourceDirectory(const Utils::FileName &filePath)
if (source.isEmpty()) if (source.isEmpty())
return false; return false;
QDir dir = QDir(source.toString()); QDir dir = QDir(source.toString());
if (dir.dirName() == QLatin1String("qtbase")) if (dir.dirName() == "qtbase")
dir.cdUp(); dir.cdUp();
return filePath.isChildOf(dir); return filePath.isChildOf(dir);
} }
@@ -1637,7 +1636,7 @@ bool BaseQtVersion::isSubProject(const Utils::FileName &filePath) const
const Utils::FileName &source = sourcePath(); const Utils::FileName &source = sourcePath();
if (!source.isEmpty()) { if (!source.isEmpty()) {
QDir dir = QDir(source.toString()); QDir dir = QDir(source.toString());
if (dir.dirName() == QLatin1String("qtbase")) if (dir.dirName() == "qtbase")
dir.cdUp(); dir.cdUp();
if (filePath.isChildOf(dir)) if (filePath.isChildOf(dir))
@@ -1711,7 +1710,7 @@ bool BaseQtVersion::isQtQuickCompilerSupported(QString *reason) const
} }
const QString qtQuickCompilerExecutable = const QString qtQuickCompilerExecutable =
HostOsInfo::withExecutableSuffix(binPath().toString() + QLatin1String("/qtquickcompiler")); HostOsInfo::withExecutableSuffix(binPath().toString() + "/qtquickcompiler");
if (!QFileInfo::exists(qtQuickCompilerExecutable)) { if (!QFileInfo::exists(qtQuickCompilerExecutable)) {
if (reason) if (reason)
*reason = QCoreApplication::translate("BaseQtVersion", "This Qt Version does not contain Qt Quick Compiler."); *reason = QCoreApplication::translate("BaseQtVersion", "This Qt Version does not contain Qt Quick Compiler.");
@@ -1739,22 +1738,22 @@ FileNameList BaseQtVersion::qtCorePaths() const
foreach (const QFileInfo &info, infoList) { foreach (const QFileInfo &info, infoList) {
const QString file = info.fileName(); const QString file = info.fileName();
if (info.isDir() if (info.isDir()
&& file.startsWith(QLatin1String("QtCore")) && file.startsWith("QtCore")
&& file.endsWith(QLatin1String(".framework"))) { && file.endsWith(".framework")) {
// handle Framework // handle Framework
FileName lib(info); FileName lib(info);
dynamicLibs.append(lib.appendPath(file.left(file.lastIndexOf(QLatin1Char('.'))))); dynamicLibs.append(lib.appendPath(file.left(file.lastIndexOf('.'))));
} else if (info.isReadable()) { } else if (info.isReadable()) {
if (file.startsWith(QLatin1String("libQtCore")) if (file.startsWith("libQtCore")
|| file.startsWith(QLatin1String("libQt5Core")) || file.startsWith("libQt5Core")
|| file.startsWith(QLatin1String("QtCore")) || file.startsWith("QtCore")
|| file.startsWith(QLatin1String("Qt5Core"))) { || file.startsWith("Qt5Core")) {
if (file.endsWith(QLatin1String(".a")) || file.endsWith(QLatin1String(".lib"))) if (file.endsWith(".a") || file.endsWith(".lib"))
staticLibs.append(FileName(info)); staticLibs.append(FileName(info));
else if (file.endsWith(QLatin1String(".dll")) else if (file.endsWith(".dll")
|| file.endsWith(QString::fromLatin1(".so.") + versionString) || file.endsWith(QString::fromLatin1(".so.") + versionString)
|| file.endsWith(QLatin1String(".so")) || file.endsWith(".so")
|| file.endsWith(QLatin1Char('.') + versionString + QLatin1String(".dylib"))) || file.endsWith(QLatin1Char('.') + versionString + ".dylib"))
dynamicLibs.append(FileName(info)); dynamicLibs.append(FileName(info));
} }
} }