Merge remote-tracking branch 'origin/5.14' into 5.15

Conflicts:
	tests/benchmarks/corelib/text/qstringlist/qstringlist.pro

Change-Id: Ie9b97bd83c2df00fd9b556b5f09d405f71970169
This commit is contained in:
Qt Forward Merge Bot 2020-04-03 01:01:00 +02:00 committed by Edward Welbourne
commit 86d9e36b06
56 changed files with 277 additions and 221 deletions

5
configure vendored
View File

@ -271,12 +271,9 @@ macSDKify()
val=$(echo $sdk_val $(echo $val | cut -s -d ' ' -f 2-)) val=$(echo $sdk_val $(echo $val | cut -s -d ' ' -f 2-))
echo "$var=$val" echo "$var=$val"
;; ;;
QMAKE_CFLAGS=*|QMAKE_CXXFLAGS=*) QMAKE_CFLAGS=*|QMAKE_CXXFLAGS=*|QMAKE_LFLAGS=*)
echo "$line -isysroot $sysroot $version_min_flag" echo "$line -isysroot $sysroot $version_min_flag"
;; ;;
QMAKE_LFLAGS=*)
echo "$line -Wl,-syslibroot,$sysroot $version_min_flag"
;;
*) *)
echo "$line" echo "$line"
;; ;;

View File

@ -198,7 +198,7 @@ macx-xcode {
-isysroot$$xcodeSDKInfo(Path, $$sdk) -isysroot$$xcodeSDKInfo(Path, $$sdk)
QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \ QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \
-Xarch_$${arch} \ -Xarch_$${arch} \
-Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk) -isysroot$$xcodeSDKInfo(Path, $$sdk)
QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch}) QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch})
QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch}) QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch})
@ -222,7 +222,7 @@ macx-xcode {
version_min_flag = -m$${version_identifier}-version-min=$$deployment_target version_min_flag = -m$${version_identifier}-version-min=$$deployment_target
QMAKE_CFLAGS += -isysroot $$sysroot_path $$version_min_flag QMAKE_CFLAGS += -isysroot $$sysroot_path $$version_min_flag
QMAKE_CXXFLAGS += -isysroot $$sysroot_path $$version_min_flag QMAKE_CXXFLAGS += -isysroot $$sysroot_path $$version_min_flag
QMAKE_LFLAGS += -Wl,-syslibroot,$$sysroot_path $$version_min_flag QMAKE_LFLAGS += -isysroot $$sysroot_path $$version_min_flag
} }
# Enable precompiled headers for multiple architectures # Enable precompiled headers for multiple architectures

View File

@ -168,7 +168,7 @@ HRESULT NativeWindow11Win32::createSwapChain(ID3D11Device *device,
nullptr, nullptr, &swapChain1); nullptr, nullptr, &swapChain1);
if (SUCCEEDED(result)) if (SUCCEEDED(result))
{ {
factory2->MakeWindowAssociation(getNativeWindow(), DXGI_MWA_NO_ALT_ENTER); factory2->MakeWindowAssociation(getNativeWindow(), DXGI_MWA_NO_WINDOW_CHANGES);
*swapChain = static_cast<IDXGISwapChain *>(swapChain1); *swapChain = static_cast<IDXGISwapChain *>(swapChain1);
} }
SafeRelease(factory2); SafeRelease(factory2);
@ -196,7 +196,7 @@ HRESULT NativeWindow11Win32::createSwapChain(ID3D11Device *device,
HRESULT result = factory->CreateSwapChain(device, &swapChainDesc, swapChain); HRESULT result = factory->CreateSwapChain(device, &swapChainDesc, swapChain);
if (SUCCEEDED(result)) if (SUCCEEDED(result))
{ {
factory->MakeWindowAssociation(getNativeWindow(), DXGI_MWA_NO_ALT_ENTER); factory->MakeWindowAssociation(getNativeWindow(), DXGI_MWA_NO_WINDOW_CHANGES);
} }
return result; return result;
} }

View File

@ -0,0 +1,45 @@
From 3d23de2ad72968d0bf43dac4a9a0f237cc9e03e2 Mon Sep 17 00:00:00 2001
From: Oliver Wolff <oliver.wolff@qt.io>
Date: Wed, 1 Apr 2020 14:48:48 +0200
Subject: [PATCH] ANGLE: d3d11: Do not register windows message hooks for d3d11
windows
These message hooks are used to handle ALT+ENTER to enter/exit fullscreen
mode and PRINTSCREEN to take screenshots. Qt is implementing these
functionalities itself so we do not have to register these hooks.
If too many of these hooks are registered, callbacks are no longer called
and Qt's message queue is no longer handling messages. By saving these
hooks we can make sure that more Qt windows at the same time are possible
without getting unresponsive due to too many hooks being registered.
Change-Id: I5354f91f08cbfeda5e8dc3ad7f824fbd5b3b2932
---
.../src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp
index 5394e3d..f5e6c93 100644
--- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp
+++ b/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp
@@ -168,7 +168,7 @@ HRESULT NativeWindow11Win32::createSwapChain(ID3D11Device *device,
nullptr, nullptr, &swapChain1);
if (SUCCEEDED(result))
{
- factory2->MakeWindowAssociation(getNativeWindow(), DXGI_MWA_NO_ALT_ENTER);
+ factory2->MakeWindowAssociation(getNativeWindow(), DXGI_MWA_NO_WINDOW_CHANGES);
*swapChain = static_cast<IDXGISwapChain *>(swapChain1);
}
SafeRelease(factory2);
@@ -196,7 +196,7 @@ HRESULT NativeWindow11Win32::createSwapChain(ID3D11Device *device,
HRESULT result = factory->CreateSwapChain(device, &swapChainDesc, swapChain);
if (SUCCEEDED(result))
{
- factory->MakeWindowAssociation(getNativeWindow(), DXGI_MWA_NO_ALT_ENTER);
+ factory->MakeWindowAssociation(getNativeWindow(), DXGI_MWA_NO_WINDOW_CHANGES);
}
return result;
}
--
2.7.4.windows.1

View File

@ -1123,15 +1123,15 @@ QByteArray QTzTimeZonePrivate::systemTimeZoneId() const
{ {
// Check TZ env var first, if not populated try find it // Check TZ env var first, if not populated try find it
QByteArray ianaId = qgetenv("TZ"); QByteArray ianaId = qgetenv("TZ");
if (!ianaId.isEmpty() && ianaId.at(0) == ':')
ianaId = ianaId.mid(1);
// The TZ value can be ":/etc/localtime" which libc considers // The TZ value can be ":/etc/localtime" which libc considers
// to be a "default timezone", in which case it will be read // to be a "default timezone", in which case it will be read
// by one of the blocks below, so unset it here so it is not // by one of the blocks below, so unset it here so it is not
// considered as a valid/found ianaId // considered as a valid/found ianaId
if (ianaId == "/etc/localtime") if (ianaId == ":/etc/localtime")
ianaId.clear(); ianaId.clear();
else if (ianaId.startsWith(':'))
ianaId = ianaId.mid(1);
// On most distros /etc/localtime is a symlink to a real file so extract name from the path // On most distros /etc/localtime is a symlink to a real file so extract name from the path
if (ianaId.isEmpty()) { if (ianaId.isEmpty()) {
@ -1150,15 +1150,12 @@ QByteArray QTzTimeZonePrivate::systemTimeZoneId() const
} }
} }
// On Debian Etch up to Jessie, /etc/localtime is a regular file while the actual name is in /etc/timezone // On Debian Etch up to Jessie, /etc/localtime is a copy of the relevant
// zoneinfo file, whose name is recorded in /etc/timezone:
if (ianaId.isEmpty()) { if (ianaId.isEmpty()) {
QFile tzif(QStringLiteral("/etc/timezone")); QFile tzif(QStringLiteral("/etc/timezone"));
if (tzif.open(QIODevice::ReadOnly)) { if (tzif.open(QIODevice::ReadOnly))
// TODO QTextStream inefficient, replace later ianaId = tzif.readAll().trimmed();
QTextStream ts(&tzif);
if (!ts.atEnd())
ianaId = ts.readLine().toUtf8();
}
} }
// On some Red Hat distros /etc/localtime is real file with name held in /etc/sysconfig/clock // On some Red Hat distros /etc/localtime is real file with name held in /etc/sysconfig/clock
@ -1166,16 +1163,12 @@ QByteArray QTzTimeZonePrivate::systemTimeZoneId() const
if (ianaId.isEmpty()) { if (ianaId.isEmpty()) {
QFile tzif(QStringLiteral("/etc/sysconfig/clock")); QFile tzif(QStringLiteral("/etc/sysconfig/clock"));
if (tzif.open(QIODevice::ReadOnly)) { if (tzif.open(QIODevice::ReadOnly)) {
// TODO QTextStream inefficient, replace later while (ianaId.isEmpty() && !tzif.atEnd()) {
QTextStream ts(&tzif); const QByteArray line(tzif.readLine().trimmed());
QString line; if (line.startsWith("ZONE="))
while (ianaId.isEmpty() && !ts.atEnd() && ts.status() == QTextStream::Ok) { ianaId = line.mid(6, line.length() - 7);
line = ts.readLine(); else if (line.startsWith("TIMEZONE="))
if (line.startsWith(QLatin1String("ZONE="))) { ianaId = line.mid(10, line.length() - 11);
ianaId = line.midRef(6, line.size() - 7).toUtf8();
} else if (line.startsWith(QLatin1String("TIMEZONE="))) {
ianaId = line.midRef(10, line.size() - 11).toUtf8();
}
} }
} }
} }

View File

@ -93,7 +93,11 @@ private slots:
void quitOnLastWindowClosed(); void quitOnLastWindowClosed();
void closeAllWindows(); void closeAllWindows();
void testDeleteLater(); void testDeleteLater();
void testDeleteLaterProcessEvents(); void testDeleteLaterProcessEvents1();
void testDeleteLaterProcessEvents2();
void testDeleteLaterProcessEvents3();
void testDeleteLaterProcessEvents4();
void testDeleteLaterProcessEvents5();
#if QT_CONFIG(library) #if QT_CONFIG(library)
void libraryPaths(); void libraryPaths();
@ -1333,10 +1337,8 @@ public slots:
} }
}; };
void tst_QApplication::testDeleteLaterProcessEvents() void tst_QApplication::testDeleteLaterProcessEvents1()
{ {
int argc = 0;
// Calling processEvents() with no event dispatcher does nothing. // Calling processEvents() with no event dispatcher does nothing.
QObject *object = new QObject; QObject *object = new QObject;
QPointer<QObject> p(object); QPointer<QObject> p(object);
@ -1344,75 +1346,85 @@ void tst_QApplication::testDeleteLaterProcessEvents()
QApplication::processEvents(); QApplication::processEvents();
QVERIFY(p); QVERIFY(p);
delete object; delete object;
}
{ void tst_QApplication::testDeleteLaterProcessEvents2()
QApplication app(argc, nullptr); {
// If you call processEvents() with an event dispatcher present, but int argc = 0;
// outside any event loops, deferred deletes are not processed unless QApplication app(argc, nullptr);
// sendPostedEvents(0, DeferredDelete) is called. // If you call processEvents() with an event dispatcher present, but
object = new QObject; // outside any event loops, deferred deletes are not processed unless
p = object; // sendPostedEvents(0, DeferredDelete) is called.
object->deleteLater(); auto object = new QObject;
QCoreApplication::processEvents(); QPointer<QObject> p(object);
QVERIFY(p); object->deleteLater();
QCoreApplication::sendPostedEvents(nullptr, QEvent::DeferredDelete); QCoreApplication::processEvents();
QVERIFY(!p); QVERIFY(p);
QCoreApplication::sendPostedEvents(nullptr, QEvent::DeferredDelete);
QVERIFY(!p);
// If you call deleteLater() on an object when there is no parent // If you call deleteLater() on an object when there is no parent
// event loop, and then enter an event loop, the object will get // event loop, and then enter an event loop, the object will get
// deleted. // deleted.
object = new QObject; QEventLoop loop;
p = object; object = new QObject;
object->deleteLater(); connect(object, &QObject::destroyed, &loop, &QEventLoop::quit);
QEventLoop loop; p = object;
QTimer::singleShot(1000, &loop, &QEventLoop::quit); object->deleteLater();
loop.exec(); QTimer::singleShot(1000, &loop, &QEventLoop::quit);
QVERIFY(!p); loop.exec();
} QVERIFY(!p);
{ }
// When an object is in an event loop, then calls deleteLater() and enters
// an event loop recursively, it should not die until the parent event
// loop continues.
QApplication app(argc, nullptr);
QEventLoop loop;
EventLoopNester *nester = new EventLoopNester;
p = nester;
QTimer::singleShot(3000, &loop, &QEventLoop::quit);
QTimer::singleShot(0, nester, &EventLoopNester::deleteLaterAndEnterLoop);
loop.exec(); void tst_QApplication::testDeleteLaterProcessEvents3()
QVERIFY(!p); {
} int argc = 0;
// When an object is in an event loop, then calls deleteLater() and enters
// an event loop recursively, it should not die until the parent event
// loop continues.
QApplication app(argc, nullptr);
QEventLoop loop;
EventLoopNester *nester = new EventLoopNester;
QPointer<QObject> p(nester);
QTimer::singleShot(3000, &loop, &QEventLoop::quit);
QTimer::singleShot(0, nester, &EventLoopNester::deleteLaterAndEnterLoop);
{ loop.exec();
// When the event loop that calls deleteLater() is exited QVERIFY(!p);
// immediately, the object should die when returning to the }
// parent event loop
QApplication app(argc, nullptr);
QEventLoop loop;
EventLoopNester *nester = new EventLoopNester;
p = nester;
QTimer::singleShot(3000, &loop, &QEventLoop::quit);
QTimer::singleShot(0, nester, &EventLoopNester::deleteLaterAndExitLoop);
loop.exec(); void tst_QApplication::testDeleteLaterProcessEvents4()
QVERIFY(!p); {
} int argc = 0;
// When the event loop that calls deleteLater() is exited
// immediately, the object should die when returning to the
// parent event loop
QApplication app(argc, nullptr);
QEventLoop loop;
EventLoopNester *nester = new EventLoopNester;
QPointer<QObject> p(nester);
QTimer::singleShot(3000, &loop, &QEventLoop::quit);
QTimer::singleShot(0, nester, &EventLoopNester::deleteLaterAndExitLoop);
{ loop.exec();
// when the event loop that calls deleteLater() also calls QVERIFY(!p);
// processEvents() immediately afterwards, the object should }
// not die until the parent loop continues
QApplication app(argc, nullptr);
QEventLoop loop;
EventLoopNester *nester = new EventLoopNester();
p = nester;
QTimer::singleShot(3000, &loop, &QEventLoop::quit);
QTimer::singleShot(0, nester, &EventLoopNester::deleteLaterAndProcessEvents);
loop.exec(); void tst_QApplication::testDeleteLaterProcessEvents5()
QVERIFY(!p); {
} // when the event loop that calls deleteLater() also calls
// processEvents() immediately afterwards, the object should
// not die until the parent loop continues
int argc = 0;
QApplication app(argc, nullptr);
QEventLoop loop;
EventLoopNester *nester = new EventLoopNester();
QPointer<QObject> p(nester);
QTimer::singleShot(3000, &loop, &QEventLoop::quit);
QTimer::singleShot(0, nester, &EventLoopNester::deleteLaterAndProcessEvents);
loop.exec();
QVERIFY(!p);
} }
/* /*

View File

@ -1,6 +1,7 @@
TARGET = tst_bench_qtextcodec CONFIG += benchmark
QT = core testlib QT = core testlib
TARGET = tst_bench_qtextcodec
SOURCES += main.cpp SOURCES += main.cpp
TESTDATA = utf-8.txt TESTDATA = utf-8.txt

View File

@ -1,6 +1,6 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qdir_10000 CONFIG += benchmark
SOURCES += bench_qdir_10000.cpp
QT = core testlib QT = core testlib
TARGET = tst_bench_qdir_10000
SOURCES += bench_qdir_10000.cpp

View File

@ -1,7 +1,7 @@
TEMPLATE = app TEMPLATE = app
TARGET = bench_qdir_tree CONFIG += benchmark
QT = core testlib
TARGET = bench_qdir_tree
SOURCES += bench_qdir_tree.cpp SOURCES += bench_qdir_tree.cpp
RESOURCES += bench_qdir_tree.qrc RESOURCES += bench_qdir_tree.qrc
QT = core testlib

View File

@ -1,8 +1,6 @@
TARGET = tst_bench_qdiriterator CONFIG += benchmark
QT = core testlib QT = core testlib
CONFIG += release TARGET = tst_bench_qdiriterator
SOURCES += main.cpp qfilesystemiterator.cpp SOURCES += main.cpp qfilesystemiterator.cpp
HEADERS += qfilesystemiterator.h HEADERS += qfilesystemiterator.h

View File

@ -1,6 +1,7 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qfile CONFIG += benchmark
QT = core core-private testlib QT = core core-private testlib
win32: DEFINES+= _CRT_SECURE_NO_WARNINGS win32: DEFINES+= _CRT_SECURE_NO_WARNINGS
TARGET = tst_bench_qfile
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,9 +1,7 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qfileinfo CONFIG += benchmark
QT -= gui QT -= gui
QT += core-private testlib QT += core-private testlib
CONFIG += release TARGET = tst_bench_qfileinfo
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,8 +1,6 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qiodevice CONFIG += benchmark
QT = core testlib QT = core testlib
CONFIG += release TARGET = tst_bench_qiodevice
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,4 +1,5 @@
CONFIG += benchmark
QT = core core-private testlib
TARGET = ../tst_bench_qprocess TARGET = ../tst_bench_qprocess
SOURCES += ../tst_bench_qprocess.cpp SOURCES += ../tst_bench_qprocess.cpp
QT = core core-private testlib

View File

@ -1,5 +1,7 @@
SOURCES = main.cpp CONFIG += benchmark
CONFIG -= qt CONFIG -= qt
CONFIG += cmdline CONFIG += cmdline
winrt: QMAKE_LFLAGS += /ENTRY:mainCRTStartup winrt: QMAKE_LFLAGS += /ENTRY:mainCRTStartup
SOURCES = main.cpp
DESTDIR = ./ DESTDIR = ./

View File

@ -1,8 +1,6 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qtemporaryfile CONFIG += benchmark
QT = core testlib QT = core testlib
CONFIG += release TARGET = tst_bench_qtemporaryfile
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,8 +1,6 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qtextstream CONFIG += benchmark
QT = core testlib QT = core testlib
CONFIG += release TARGET = tst_bench_qtextstream
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,6 +1,7 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_qurl CONFIG += benchmark
QT = core testlib QT = core testlib
win32: DEFINES+= _CRT_SECURE_NO_WARNINGS win32: DEFINES+= _CRT_SECURE_NO_WARNINGS
TARGET = tst_qurl
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,7 +1,8 @@
TARGET = tst_bench_qtbinaryjson
QT = core testlib QT = core testlib
CONFIG += benchmark
CONFIG -= app_bundle CONFIG -= app_bundle
TARGET = tst_bench_qtbinaryjson
SOURCES += tst_bench_qtbinaryjson.cpp SOURCES += tst_bench_qtbinaryjson.cpp
TESTDATA = numbers.json test.json TESTDATA = numbers.json test.json

View File

@ -1,6 +1,6 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_events CONFIG += benchmark
QT = core testlib QT = core testlib
TARGET = tst_bench_events
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,6 +1,6 @@
TEMPLATE = app
CONFIG += benchmark
QT = core testlib QT = core testlib
TEMPLATE = app
TARGET = tst_bench_qcoreapplication TARGET = tst_bench_qcoreapplication
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,5 +1,6 @@
TEMPLATE = app TEMPLATE = app
CONFIG += benchmark
QT += widgets testlib QT += widgets testlib
TARGET = tst_bench_qmetaobject
TARGET = tst_bench_qmetaobject
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,6 +1,6 @@
QT = core testlib
TEMPLATE = app TEMPLATE = app
CONFIG += benchmark
QT = core testlib
TARGET = tst_bench_qmetatype TARGET = tst_bench_qmetatype
SOURCES += tst_qmetatype.cpp SOURCES += tst_qmetatype.cpp

View File

@ -1,7 +1,7 @@
TEMPLATE = app
CONFIG += benchmark
QT += widgets testlib QT += widgets testlib
TEMPLATE = app
TARGET = tst_bench_qobject TARGET = tst_bench_qobject
HEADERS += object.h HEADERS += object.h
SOURCES += main.cpp object.cpp SOURCES += main.cpp object.cpp

View File

@ -1,10 +1,7 @@
TEMPLATE = app TEMPLATE = app
TARGET = qtimer_vs_qmetaobject CONFIG += benchmark
INCLUDEPATH += .
CONFIG += release
#CONFIG += debug
SOURCES += tst_qtimer_vs_qmetaobject.cpp
QT = core testlib QT = core testlib
INCLUDEPATH += .
TARGET = qtimer_vs_qmetaobject
SOURCES += tst_qtimer_vs_qmetaobject.cpp

View File

@ -1,9 +1,6 @@
TARGET = tst_bench_qvariant CONFIG += benchmark
QT += testlib QT += testlib
!qtHaveModule(gui): QT -= gui !qtHaveModule(gui): QT -= gui
CONFIG += release TARGET = tst_bench_qvariant
#CONFIG += debug
SOURCES += tst_qvariant.cpp SOURCES += tst_qvariant.cpp

View File

@ -1,5 +1,5 @@
CONFIG += benchmark
QT = core testlib QT = core testlib
TARGET = tst_bench_qmimedatabase TARGET = tst_bench_qmimedatabase
SOURCES = main.cpp SOURCES = main.cpp

View File

@ -1,5 +1,6 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_quuid CONFIG += benchmark
SOURCES += tst_quuid.cpp
QT = core testlib QT = core testlib
TARGET = tst_bench_quuid
SOURCES += tst_quuid.cpp

View File

@ -1,7 +1,7 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qbytearray CONFIG += benchmark
QT = core testlib QT = core testlib
TESTDATA += main.cpp TARGET = tst_bench_qbytearray
SOURCES += main.cpp SOURCES += main.cpp
TESTDATA += main.cpp

View File

@ -1,3 +1,5 @@
TARGET = tst_bench_qchar CONFIG += benchmark
QT = core testlib QT = core testlib
TARGET = tst_bench_qchar
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,4 +1,5 @@
TARGET = tst_bench_qlocale CONFIG += benchmark
QT = core testlib QT = core testlib
TARGET = tst_bench_qlocale
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,8 +1,9 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qregexp CONFIG += benchmark
CONFIG += exceptions
QT = core testlib QT = core testlib
CONFIG += release exceptions
TARGET = tst_bench_qregexp
SOURCES += main.cpp SOURCES += main.cpp
RESOURCES += qregexp.qrc RESOURCES += qregexp.qrc
@ -17,4 +18,3 @@ qtHaveModule(script):!pcre {
LIBS += -lboost_regex LIBS += -lboost_regex
} }
} }

View File

@ -1,5 +1,6 @@
TARGET = tst_bench_qstring CONFIG += benchmark
QT -= gui QT -= gui
QT += core testlib QT += core testlib
SOURCES += main.cpp
TARGET = tst_bench_qstring
SOURCES += main.cpp

View File

@ -1,11 +1,9 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qstringbuilder CONFIG += benchmark
QT = core testlib
QMAKE_CXXFLAGS += -g QMAKE_CXXFLAGS += -g
QMAKE_CFLAGS += -g QMAKE_CFLAGS += -g
QT = core testlib TARGET = tst_bench_qstringbuilder
CONFIG += release
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,6 +1,5 @@
TARGET = tst_bench_qstringlist
CONFIG -= debug
CONFIG += release
CONFIG += benchmark CONFIG += benchmark
QT = core testlib QT = core testlib
TARGET = tst_bench_qstringlist
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,5 +1,6 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qmutex CONFIG += benchmark
QT = core testlib QT = core testlib
SOURCES += tst_qmutex.cpp
TARGET = tst_bench_qmutex
SOURCES += tst_qmutex.cpp

View File

@ -1,7 +1,8 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qreadwritelock CONFIG += benchmark
QT = core-private testlib
SOURCES += tst_qreadwritelock.cpp
CONFIG += c++14 # for std::shared_timed_mutex CONFIG += c++14 # for std::shared_timed_mutex
CONFIG += c++1z # for std::shared_mutex CONFIG += c++1z # for std::shared_mutex
QT = core-private testlib
TARGET = tst_bench_qreadwritelock
SOURCES += tst_qreadwritelock.cpp

View File

@ -1,5 +1,6 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qthreadpool CONFIG += benchmark
SOURCES += tst_qthreadpool.cpp
QT = core testlib QT = core testlib
TARGET = tst_bench_qthreadpool
SOURCES += tst_qthreadpool.cpp

View File

@ -1,5 +1,6 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qthreadstorage CONFIG += benchmark
SOURCES += tst_qthreadstorage.cpp
QT = core testlib QT = core testlib
TARGET = tst_bench_qthreadstorage
SOURCES += tst_qthreadstorage.cpp

View File

@ -1,4 +1,6 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qwaitcondition CONFIG += benchmark
QT = core testlib QT = core testlib
TARGET = tst_bench_qwaitcondition
SOURCES += tst_qwaitcondition.cpp SOURCES += tst_qwaitcondition.cpp

View File

@ -1,4 +1,5 @@
TARGET = tst_bench_qdate CONFIG += benchmark
QT = core testlib QT = core testlib
TARGET = tst_bench_qdate
SOURCES += tst_bench_qdate.cpp SOURCES += tst_bench_qdate.cpp

View File

@ -1,4 +1,5 @@
TARGET = tst_bench_qdatetime CONFIG += benchmark
QT = core testlib QT = core testlib
TARGET = tst_bench_qdatetime
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,4 +1,5 @@
TARGET = tst_bench_qtimezone CONFIG += benchmark
QT = core testlib QT = core testlib
TARGET = tst_bench_qtimezone
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,6 +1,6 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_containers-associative CONFIG += benchmark
QT = core testlib QT = core testlib
TARGET = tst_bench_containers-associative
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,6 +1,6 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_containers-sequential CONFIG += benchmark
QT = core testlib QT = core testlib
TARGET = tst_bench_containers-sequential
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,3 +1,5 @@
TARGET = tst_bench_qalgorithms CONFIG += benchmark
QT = core testlib QT = core testlib
TARGET = tst_bench_qalgorithms
SOURCES = tst_qalgorithms.cpp SOURCES = tst_qalgorithms.cpp

View File

@ -1,7 +1,6 @@
TARGET = tst_bench_qcontiguouscache CONFIG += benchmark
SOURCES += main.cpp
CONFIG += parallel_test CONFIG += parallel_test
QT = core testlib QT = core testlib
TARGET = tst_bench_qcontiguouscache
SOURCES += main.cpp

View File

@ -1,5 +1,6 @@
TARGET = tst_bench_qcryptographichash CONFIG += benchmark
CONFIG -= debug CONFIG += cmdline
CONFIG += release cmdline
QT = core testlib QT = core testlib
TARGET = tst_bench_qcryptographichash
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,5 +1,6 @@
TARGET = tst_hash CONFIG += benchmark
QT = core testlib QT = core testlib
INCLUDEPATH += . INCLUDEPATH += .
TARGET = tst_hash
SOURCES += main.cpp outofline.cpp SOURCES += main.cpp outofline.cpp
CONFIG += release

View File

@ -1,4 +1,5 @@
TARGET = tst_bench_qlist CONFIG += benchmark
QT = core testlib QT = core testlib
TARGET = tst_bench_qlist
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,5 +1,6 @@
TARGET = tst_bench_qmap CONFIG += benchmark
QT = core testlib QT = core testlib
INCLUDEPATH += . INCLUDEPATH += .
TARGET = tst_bench_qmap
SOURCES += main.cpp SOURCES += main.cpp
CONFIG += release

View File

@ -1,7 +1,6 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qrect
QT = core testlib QT = core testlib
CONFIG += release CONFIG += benchmark
TARGET = tst_bench_qrect
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,7 +1,6 @@
TEMPLATE = app TEMPLATE = app
TARGET = tst_bench_qringbuffer CONFIG += benchmark
QT = core-private testlib QT = core-private testlib
CONFIG += release
TARGET = tst_bench_qringbuffer
SOURCES += main.cpp SOURCES += main.cpp

View File

@ -1,4 +1,5 @@
TARGET = tst_qset CONFIG += benchmark
QT = core testlib QT = core testlib
TARGET = tst_qset
SOURCES += main.cpp SOURCES += main.cpp
CONFIG += release

View File

@ -1,4 +1,5 @@
TARGET = tst_bench_stack CONFIG += benchmark
QT = core testlib core-private QT = core testlib core-private
TARGET = tst_bench_stack
SOURCES += main.cpp SOURCES += main.cpp
CONFIG += release

View File

@ -1,5 +1,6 @@
TARGET = tst_bench_vector CONFIG += benchmark
QT = core testlib core-private QT = core testlib core-private
INCLUDEPATH += . INCLUDEPATH += .
TARGET = tst_bench_vector
SOURCES += main.cpp outofline.cpp SOURCES += main.cpp outofline.cpp
CONFIG += release