QbsProjectManager: Avoid allocations in string comparisons

Use case-insensitive comparisons instead of converting toLower() first.
Found by clazy.

Change-Id: I0d32b0ba7ccb5493d1c86d41044b09c8baed3dc8
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Joerg Bornemann
2017-10-19 14:02:12 +02:00
parent 235f9be955
commit e71912b45b

View File

@@ -341,15 +341,17 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor
canonicalName.chop(version.size()); canonicalName.chop(version.size());
if (!canonicalName.isEmpty() && !version.isEmpty() if (!canonicalName.isEmpty() && !version.isEmpty()
&& sysrootAbs.startsWith(developerPath)) { && sysrootAbs.startsWith(developerPath)) {
if (sysrootAbs.toLower().endsWith(QStringLiteral("/%1.sdk") if (sysrootAbs.endsWith(QStringLiteral("/%1.sdk").arg(canonicalName + version),
.arg(canonicalName + version))) Qt::CaseInsensitive)) {
data.insert(QLatin1String(XCODE_SDK), QString(canonicalName + version)); data.insert(QLatin1String(XCODE_SDK), QString(canonicalName + version));
if (sysrootAbs.toLower().endsWith(QStringLiteral("/%1.sdk") }
.arg(canonicalName))) if (sysrootAbs.endsWith(QStringLiteral("/%1.sdk").arg(canonicalName),
Qt::CaseInsensitive)) {
data.insert(QLatin1String(XCODE_SDK), canonicalName); data.insert(QLatin1String(XCODE_SDK), canonicalName);
} }
} }
} }
}
if (!toolchain.isEmpty()) if (!toolchain.isEmpty())
data.insert(QLatin1String(QBS_TOOLCHAIN), toolchain); data.insert(QLatin1String(QBS_TOOLCHAIN), toolchain);