From a1947aeffe158a0ea7de3ced1bf8d6a4719a27ef Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 3 Apr 2020 17:11:36 +0200 Subject: Port qmake over to user QRegularExpression Use the DotMatchesEverythingOption for all places where we interpret .pro files, to increase compatibility with QRegExp. Change-Id: I347d6b17858069f3c9cedcedd04df58358d83f27 Reviewed-by: Joerg Bornemann --- qmake/generators/unix/unixmake2.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'qmake/generators/unix/unixmake2.cpp') diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp index 19975bc8bbc..09af15130ff 100644 --- a/qmake/generators/unix/unixmake2.cpp +++ b/qmake/generators/unix/unixmake2.cpp @@ -30,7 +30,7 @@ #include "unixmake.h" #include "option.h" #include "meta.h" -#include +#include #include #include #include @@ -290,7 +290,7 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) if (project->isActiveConfig("gcc_MD_depends")) { ProStringList objects = project->values("OBJECTS"); for (ProStringList::Iterator it = objects.begin(); it != objects.end(); ++it) { - QString d_file = (*it).toQString().replace(QRegExp(Option::obj_ext + "$"), ".d"); + QString d_file = (*it).toQString().replace(QRegularExpression(Option::obj_ext + "$"), ".d"); t << "-include " << escapeDependencyPath(d_file) << Qt::endl; project->values("QMAKE_DISTCLEAN") << d_file; } @@ -346,7 +346,7 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) if(!d_file.isEmpty()) { d_file = odir + ".deps/" + fileFixify(d_file, FileFixifyBackwards) + ".d"; QString d_file_d = escapeDependencyPath(d_file); - QStringList deps = findDependencies((*it).toQString()).filter(QRegExp( + QStringList deps = findDependencies((*it).toQString()).filter(QRegularExpression( "((^|/)" + Option::h_moc_mod + "|" + Option::cpp_moc_ext + "$)")); if(!deps.isEmpty()) t << d_file_d << ": " << finalizeDependencyPaths(deps).join(' ') << Qt::endl; @@ -507,7 +507,7 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) if(do_incremental) { ProString s_ext = project->first("QMAKE_EXTENSION_SHLIB"); QString incr_target = var("QMAKE_ORIG_TARGET").replace( - QRegExp("\\." + s_ext), "").replace(QRegExp("^lib"), "") + "_incremental"; + QRegularExpression("\\." + s_ext), "").replace(QRegularExpression("^lib"), "") + "_incremental"; if(incr_target.indexOf(Option::dir_sep) != -1) incr_target = incr_target.right(incr_target.length() - (incr_target.lastIndexOf(Option::dir_sep) + 1)); @@ -1533,8 +1533,10 @@ std::pair UnixMakefileGenerator::writeObjectsPart(QTextStream &t, for (ProStringList::ConstIterator objit = objs.begin(); objit != objs.end(); ++objit) { bool increment = false; for (ProStringList::ConstIterator incrit = incrs.begin(); incrit != incrs.end(); ++incrit) { - if ((*objit).toQString().indexOf(QRegExp((*incrit).toQString(), Qt::CaseSensitive, - QRegExp::Wildcard)) != -1) { + auto pattern = + QRegularExpression::wildcardToRegularExpression((*incrit).toQString(), + QRegularExpression::UnanchoredWildcardConversion); + if ((*objit).toQString().contains(QRegularExpression(pattern))) { increment = true; incrs_out.append((*objit)); break; -- cgit v1.2.3