Android: Fix architecture extraction from file path in androiddeployqt

The regular expression was too greedy with the ".*" sub-expression,
thus if the prefix path contained underscores, the extracted
architecture value was wrong.

Example prefix:
~/dev/qt/qt514_built_android/qtbase

Example captured architecture:
built_android/qtbase/plugins/platforms/android/libqtforandroid_x86

First extract the file name from the given path, and then match
on just the file name.

Change-Id: I8e56e56747096c7a2398e959d91c2d1f65de2495
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Alexandru Croitor 2019-09-03 14:21:52 +02:00
parent f00e326656
commit 098d7549c1

View File

@ -314,8 +314,10 @@ static QString shellQuote(const QString &arg)
QString architecureFromName(const QString &name)
{
const QFileInfo fi(name);
const QString extractedFileName = fi.fileName();
QRegExp architecture(QStringLiteral(".*_(.*)\\.so"));
if (!architecture.exactMatch(name))
if (!architecture.exactMatch(extractedFileName))
return {};
return architecture.capturedTexts().last();
}