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-))
echo "$var=$val"
;;
QMAKE_CFLAGS=*|QMAKE_CXXFLAGS=*)
QMAKE_CFLAGS=*|QMAKE_CXXFLAGS=*|QMAKE_LFLAGS=*)
echo "$line -isysroot $sysroot $version_min_flag"
;;
QMAKE_LFLAGS=*)
echo "$line -Wl,-syslibroot,$sysroot $version_min_flag"
;;
*)
echo "$line"
;;

View File

@ -198,7 +198,7 @@ macx-xcode {
-isysroot$$xcodeSDKInfo(Path, $$sdk)
QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \
-Xarch_$${arch} \
-Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk)
-isysroot$$xcodeSDKInfo(Path, $$sdk)
QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${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
QMAKE_CFLAGS += -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

View File

@ -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;
}

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
QByteArray ianaId = qgetenv("TZ");
if (!ianaId.isEmpty() && ianaId.at(0) == ':')
ianaId = ianaId.mid(1);
// The TZ value can be ":/etc/localtime" which libc considers
// 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
// considered as a valid/found ianaId
if (ianaId == "/etc/localtime")
if (ianaId == ":/etc/localtime")
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
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()) {
QFile tzif(QStringLiteral("/etc/timezone"));
if (tzif.open(QIODevice::ReadOnly)) {
// TODO QTextStream inefficient, replace later
QTextStream ts(&tzif);
if (!ts.atEnd())
ianaId = ts.readLine().toUtf8();
}
if (tzif.open(QIODevice::ReadOnly))
ianaId = tzif.readAll().trimmed();
}
// 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()) {
QFile tzif(QStringLiteral("/etc/sysconfig/clock"));
if (tzif.open(QIODevice::ReadOnly)) {
// TODO QTextStream inefficient, replace later
QTextStream ts(&tzif);
QString line;
while (ianaId.isEmpty() && !ts.atEnd() && ts.status() == QTextStream::Ok) {
line = ts.readLine();
if (line.startsWith(QLatin1String("ZONE="))) {
ianaId = line.midRef(6, line.size() - 7).toUtf8();
} else if (line.startsWith(QLatin1String("TIMEZONE="))) {
ianaId = line.midRef(10, line.size() - 11).toUtf8();
}
while (ianaId.isEmpty() && !tzif.atEnd()) {
const QByteArray line(tzif.readLine().trimmed());
if (line.startsWith("ZONE="))
ianaId = line.mid(6, line.length() - 7);
else if (line.startsWith("TIMEZONE="))
ianaId = line.mid(10, line.length() - 11);
}
}
}

View File

@ -93,7 +93,11 @@ private slots:
void quitOnLastWindowClosed();
void closeAllWindows();
void testDeleteLater();
void testDeleteLaterProcessEvents();
void testDeleteLaterProcessEvents1();
void testDeleteLaterProcessEvents2();
void testDeleteLaterProcessEvents3();
void testDeleteLaterProcessEvents4();
void testDeleteLaterProcessEvents5();
#if QT_CONFIG(library)
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.
QObject *object = new QObject;
QPointer<QObject> p(object);
@ -1344,75 +1346,85 @@ void tst_QApplication::testDeleteLaterProcessEvents()
QApplication::processEvents();
QVERIFY(p);
delete object;
}
{
QApplication app(argc, nullptr);
// If you call processEvents() with an event dispatcher present, but
// outside any event loops, deferred deletes are not processed unless
// sendPostedEvents(0, DeferredDelete) is called.
object = new QObject;
p = object;
object->deleteLater();
QCoreApplication::processEvents();
QVERIFY(p);
QCoreApplication::sendPostedEvents(nullptr, QEvent::DeferredDelete);
QVERIFY(!p);
void tst_QApplication::testDeleteLaterProcessEvents2()
{
int argc = 0;
QApplication app(argc, nullptr);
// If you call processEvents() with an event dispatcher present, but
// outside any event loops, deferred deletes are not processed unless
// sendPostedEvents(0, DeferredDelete) is called.
auto object = new QObject;
QPointer<QObject> p(object);
object->deleteLater();
QCoreApplication::processEvents();
QVERIFY(p);
QCoreApplication::sendPostedEvents(nullptr, QEvent::DeferredDelete);
QVERIFY(!p);
// If you call deleteLater() on an object when there is no parent
// event loop, and then enter an event loop, the object will get
// deleted.
object = new QObject;
p = object;
object->deleteLater();
QEventLoop loop;
QTimer::singleShot(1000, &loop, &QEventLoop::quit);
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);
// If you call deleteLater() on an object when there is no parent
// event loop, and then enter an event loop, the object will get
// deleted.
QEventLoop loop;
object = new QObject;
connect(object, &QObject::destroyed, &loop, &QEventLoop::quit);
p = object;
object->deleteLater();
QTimer::singleShot(1000, &loop, &QEventLoop::quit);
loop.exec();
QVERIFY(!p);
}
loop.exec();
QVERIFY(!p);
}
void tst_QApplication::testDeleteLaterProcessEvents3()
{
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);
{
// 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;
p = nester;
QTimer::singleShot(3000, &loop, &QEventLoop::quit);
QTimer::singleShot(0, nester, &EventLoopNester::deleteLaterAndExitLoop);
loop.exec();
QVERIFY(!p);
}
loop.exec();
QVERIFY(!p);
}
void tst_QApplication::testDeleteLaterProcessEvents4()
{
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);
{
// when the event loop that calls deleteLater() also calls
// 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();
QVERIFY(!p);
}
loop.exec();
QVERIFY(!p);
}
void tst_QApplication::testDeleteLaterProcessEvents5()
{
// 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
TARGET = tst_bench_qtextcodec
SOURCES += main.cpp
TESTDATA = utf-8.txt

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,10 +1,7 @@
TEMPLATE = app
TARGET = qtimer_vs_qmetaobject
INCLUDEPATH += .
CONFIG += release
#CONFIG += debug
SOURCES += tst_qtimer_vs_qmetaobject.cpp
CONFIG += benchmark
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
!qtHaveModule(gui): QT -= gui
CONFIG += release
#CONFIG += debug
TARGET = tst_bench_qvariant
SOURCES += tst_qvariant.cpp

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,8 @@
TEMPLATE = app
TARGET = tst_bench_qreadwritelock
QT = core-private testlib
SOURCES += tst_qreadwritelock.cpp
CONFIG += benchmark
CONFIG += c++14 # for std::shared_timed_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
TARGET = tst_bench_qthreadpool
SOURCES += tst_qthreadpool.cpp
CONFIG += benchmark
QT = core testlib
TARGET = tst_bench_qthreadpool
SOURCES += tst_qthreadpool.cpp

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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