aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmakeprojectmanager/makefileparse.cpp
diff options
context:
space:
mode:
authorChristian Stenger <[email protected]>2020-07-14 11:20:22 +0200
committerChristian Stenger <[email protected]>2020-07-15 08:21:23 +0000
commit9783761df383520609569f0ba2b6f197cf767867 (patch)
tree6b826a8edfef7d712211078c994d71c1d56af8bf /src/plugins/qmakeprojectmanager/makefileparse.cpp
parent9fa1286faff8351b0d4e48e45589e2daa7ccc455 (diff)
QbsPM:QmakePM: Replace QRegExp by QRegularExpression
Task-number: QTCREATORBUG-24098 Change-Id: If561553a6030f8eaedbafbc1b4531a6b63c4aa36 Reviewed-by: Christian Kandeler <[email protected]>
Diffstat (limited to 'src/plugins/qmakeprojectmanager/makefileparse.cpp')
-rw-r--r--src/plugins/qmakeprojectmanager/makefileparse.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/plugins/qmakeprojectmanager/makefileparse.cpp b/src/plugins/qmakeprojectmanager/makefileparse.cpp
index dff3a1b2613..206270f481f 100644
--- a/src/plugins/qmakeprojectmanager/makefileparse.cpp
+++ b/src/plugins/qmakeprojectmanager/makefileparse.cpp
@@ -32,7 +32,7 @@
#include <QDebug>
#include <QDir>
#include <QFileInfo>
-#include <QRegExp>
+#include <QRegularExpression>
#include <QTextStream>
#include <QLoggingCategory>
@@ -72,7 +72,7 @@ void MakeFileParse::parseArgs(const QString &args, const QString &project,
QList<QMakeAssignment> *assignments,
QList<QMakeAssignment> *afterAssignments)
{
- QRegExp regExp(QLatin1String("([^\\s\\+-]*)\\s*(\\+=|=|-=|~=)(.*)"));
+ const QRegularExpression regExp(QLatin1String("^([^\\s\\+-]*)\\s*(\\+=|=|-=|~=)(.*)$"));
bool after = false;
bool ignoreNext = false;
m_unparsedArguments = args;
@@ -88,11 +88,12 @@ void MakeFileParse::parseArgs(const QString &args, const QString &project,
after = true;
ait.deleteArg();
} else if (ait.value().contains(QLatin1Char('='))) {
- if (regExp.exactMatch(ait.value())) {
+ const QRegularExpressionMatch match = regExp.match(ait.value());
+ if (match.hasMatch()) {
QMakeAssignment qa;
- qa.variable = regExp.cap(1);
- qa.op = regExp.cap(2);
- qa.value = regExp.cap(3).trimmed();
+ qa.variable = match.captured(1);
+ qa.op = match.captured(2);
+ qa.value = match.captured(3).trimmed();
if (after)
afterAssignments->append(qa);
else
@@ -248,11 +249,12 @@ static FilePath findQMakeBinaryFromMakefile(const QString &makefile)
QFile fi(makefile);
if (fi.exists() && fi.open(QFile::ReadOnly)) {
QTextStream ts(&fi);
- QRegExp r1(QLatin1String("QMAKE\\s*=(.*)"));
+ const QRegularExpression r1(QLatin1String("^QMAKE\\s*=(.*)$"));
while (!ts.atEnd()) {
QString line = ts.readLine();
- if (r1.exactMatch(line)) {
- QFileInfo qmake(r1.cap(1).trimmed());
+ const QRegularExpressionMatch match = r1.match(line);
+ if (match.hasMatch()) {
+ QFileInfo qmake(match.captured(1).trimmed());
QString qmakePath = qmake.filePath();
if (!QString::fromLatin1(QTC_HOST_EXE_SUFFIX).isEmpty()
&& !qmakePath.endsWith(QLatin1String(QTC_HOST_EXE_SUFFIX))) {