Commit Graph

49431 Commits

Author SHA1 Message Date
Volker Hilsheimer
496c977b43 Allow cloning of event objects
We have use cases for cloning of events, e.g. in the state machine and
for event propagation.
Provide the means to do so through a virtual method.

Adapt QFutureCallOutEvent::clone, which is now an override. No code
seems to be using that method.

Change-Id: I6864d6597f6de800343c4dc458a7994e84dc6fb4
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-11-17 06:21:05 +01:00
Volker Hilsheimer
2686644082 Remove old QtGui and QtWidgets examples from highlighted list
Change-Id: I86c879568dd71981abd417c1bfb71e4582599276
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2020-11-17 06:21:05 +01:00
Jarek Kobus
7fbfa4441b Fix typo
Change-Id: Ief75f63a732cede0e892f74670d5323e0c838756
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2020-11-17 00:38:39 +01:00
Mårten Nordheim
f97d4732d4 CMake: Enable exceptions by default
Without breaking currently generated CMakeLists

Fixes: QTBUG-88549
Change-Id: Ibda643e1374d9024bf693c12de8ec0ac46e09b7b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-16 15:47:51 +00:00
Zhang Sheng
e13173c112 Adjust code format, add space after 'if'
Change-Id: Ice081c891ff7f4b766f49dd4bd5cf18c30237acf
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2020-11-16 12:53:37 +00:00
Michal Klocek
802e5a45ba Install 3rd party headers and meta for static builds
When doing static builds any project which uses same
libraries as qtbase 3rd party libraries will most likely
end up in broken binaries, since symbols will be
included twice. Moreover, libraries can have different
versions. Install 3rd party headers and meta data for:

 * qtlibpng
 * qtfreetype
 * qtharbuzz

Pick-to: 5.15
Task-number: QTBUG-87154
Change-Id: I243dff9a12a95af20dee414f55bb762b8d579c81
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-11-16 13:08:04 +01:00
Alexandru Croitor
125113c909 CMake: Fix configure not to pass clang compilers for Android
That breaks configuration with CMake version 3.18.x (but not 3.19 for
some reason).

Specifically configure ends up passing -DCMAKE_CXX_COMPILER=clang++
which overrides the compiler set by the CMake Android toolchain file,
and at the very end of CMake's configuration it complains about

 You have changed variables that require your cache to be deleted.
 Configure will be re-run and you may have to reset some variables.
 The following variables have changed:
 CMAKE_CXX_COMPILER= clang++

Which suddenly starts another configuration with the modified
compilers, ends up detecting host compilers and libraries and
basically everything breaks apart.

Fix QtProcessConfigureArgs.cmake not to pass the compiler options if
the mkspec contains 'android'.
Who knows, we might need this for other platforms too at some point.

Task-number: QTBUG-88460
Change-Id: Idd57870a7cb1009a4e7802e5b3d5ac735f2dacf6
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-11-16 12:36:33 +01:00
Li Xinwei
cd1075459c CMake: Install missing debug info for some executable files
Although many executable files were generated by qt_internal_add_tool().
Some executable files like designer and androiddeployqt were generated
by qt_internal_add_app(). Some executable files like windeployqt were
generated by qt_internal_add_executable(). For these executable files,
their PDB files won't be installed on MSVC platform, and their separate
debug info won't be generated and installed on other platforms.

To fix this, qt_enable_separate_debug_info() and
qt_internal_install_pdb_files() should also be called in
qt_internal_add_executable().

Fixes: QTBUG-88268
Change-Id: Id6a3b5842dba325166e3d696701c82ad942bca74
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-16 19:36:26 +08:00
Assam Boudjelthia
76f866c40a Android: move blocked tests of qapplication to test folder
Android packages the test instead of qapplication folder, thus the
BLACKLIST file for Android tests needs to be in "test" folder
instead.

Task-number: QTBUG-87666
Task-number: QTBUG-87025
Change-Id: I065072fa8a030cf9d15e057869e74a8c736c80ab
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-16 13:35:49 +02:00
Assam Boudjelthia
8904c50d6f Android: exclude failing test tst_android:assetsRead
Task-number: QTBUG-87025
Task-number: QTBUG-88506
Change-Id: I11137fadd1455ae782af5ada1c6d88d65050440d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-16 13:35:48 +02:00
Assam Boudjelthia
87fdad35ca Android: exclude failing tests of tst_qhighdpi
Tests in tst_qhighdpi are crashing on Android.

Task-number: QTBUG-88505
Task-number: QTBUG-87025
Change-Id: Ie1350e06fb30d90f20c550f91555f4023eee56b6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-16 13:35:46 +02:00
Assam Boudjelthia
ac1cbc752f Android: exclude tests crashing at start
These tests are failing with "java.lang.UnsatisfiedLinkError: dlopen
failed: invalid ELF file" at the start, excluding them now to enable
Android testing until they're fixed later.

Task-number: QTBUG-87671
Task-number: QTBUG-87025
Change-Id: Ida7d7158fccdc31df1f9689f77fde832964d732f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-16 13:35:44 +02:00
Friedemann Kleint
c8ae8ddb3a Manual shortcut test: Fix deprecation warnings about key combinations
Change-Id: Ifd85dad8042c98ea3c1402588cd50169dee1f685
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-11-16 12:35:42 +01:00
Assam Boudjelthia
4f0ee5fb37 Android: exclude host tools tests for android and ios
Task-number: QTBUG-87025
Task-number: QTBUG-88538
Change-Id: Id691c8463e9bf83c4538dce93300fb4fd5a99849
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-16 11:35:33 +00:00
Lars Knoll
fc80bd201c Fix error on MSVC when QList with disabled rvalues is instantiated
MSVC does in some case full instantiation of the template. Make sure
all of it expands to valid C++, even in the case where those methods
are supposed to be disabled.

Fixes: QTBUG-86289
Change-Id: Iaae39ef60fc5cf5fee273b0934a5a52b6ae4ec17
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-11-16 12:32:01 +01:00
Allan Sandfeld Jensen
aa136d46e1 Optimize qRound
These variants produce the same code as if std::round was compiled
with -ffast-math.

Change-Id: I8e0d7601928a511b9bc8b8f969cfd94df47c3784
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-11-16 13:27:31 +02:00
Volker Hilsheimer
6fd301b231 Make QEventPoint an idiomatic value type
Use atomic ref counting and make type movable.

Make a moved-from QEventPoint valid but undefined. Given that the
d pointer is anyway loaded into the register, the additional check
doesn't cost much, and makes the class more compliant with our
guide for value types in Qt.

Add a free swap overload via Q_DECLARED_SHARED, which also declares
the type as movable.

As a drive-by, remove superfluous inline.
This also silences some static analyser warnings.

Change-Id: I7c4a436fce44556aa37026ac26dc2061e1f01de9
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-11-16 09:28:01 +01:00
Volker Hilsheimer
021a8ce5f7 Give QWidget::updateMicroFocus a parameter with default
This allows for potential optimizations in widgets, e.g. no need to for the
input method to query all data when only the cursor position changed.

Change-Id: Idd1e554acd776ed4d225197ce80915d651ede904
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-11-16 09:05:49 +01:00
Jani Heikkinen
dba45c7272 Add Qt 6.0.0 changes file
Qt 6.0.0 is new major version for Qt and so on we don't need to
list changes to the previous Qt release but quide readers to check
porting quide.

Change-Id: Ib083c5e839aedee879291fe0174a8751970eebc1
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-11-16 10:02:08 +02:00
Anton Kudryavtsev
e8662d2d80 Doc: fix QStringView::compare since section
Change-Id: Ia469236f9cf669e11bcaec5fa8e4837bbbe911c7
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-11-16 10:50:52 +03:00
Kai Koehne
f7d4939bd3 Fix reference of qt_attribution.json to license file
Amends 4f076db3d and 0ebda39e06

Change-Id: I307bb59acdfe00cf0ffe4f0f645152f2a8ba11a6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-11-16 07:13:44 +00:00
Kai Koehne
77d7ca2d26 Doc: Add external link to conan.io
We don't use it yet in qtbase, but will need it in various other sub-modules,
so it's arguably better to maintain it here.

Change-Id: I5c10c9b34cafd435251918280ad0405189900337
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-11-16 08:13:37 +01:00
Oswald Buddenhagen
d6bf71123d don't ever force fork() instead of forkfd()
this implements a suggestion made by a comment that got lost in
028ddf363: as explained in 97645478's commit message, we were forcing
use of fork() because we couldn't be sure that the code in a custom
setupChildProcess() did not rely on pthread_atfork() callbacks being
called.
however, that in turn was inconsistent with the default behavior, and
made customizing QProcess mutually exclusive with benefitting from
forkfd().
use the opportunity presented by changing the method of modifying child
process behavior to also change this.

this also amends 4e2f4670, as most of the now deleted comment in fact
related to the use of vfork semantics, which we don't do anymore.

[ChangeLog][Important Behavior Changes][QtCore][QProcess][Unix]
pthread_atfork() callbacks are consistently not invoked on reasonably
recent Linux and FreeBSD systems any more. This was already the case in
later Qt 5 releases, unless setupChildProcess() was overridden.

Change-Id: Icb239e4d2c705bf4665589469022a521267f7db5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-11-16 02:17:28 +01:00
Xu Shitong
cc280e6df1 Adjust the format of code blocks in function pixelMetric()
Change-Id: I1ef3c1beb686af090311297523d5d69380a62fbe
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2020-11-16 09:14:46 +08:00
Giuseppe D'Angelo
784a290c4b QFileInfo: mark constructors as explicit
These look like leftovers (API flaws).

Construction of QFileInfo from QString (or similar) should be not
implicit, as QFileInfo construction is expensive (might hit the file
system), and this may have users overlook APIs (for instance build a
QFileInfo out of QDirIterator::next(), instead of using ::fileInfo();
using QDir::entryList instead of entryInfoList; etc.).

Leave an opt-out mechanism to ease porting.

Fix a handful of usages around qtbase, with at least a couple of them
likely to be actual "sloppy" code.

[ChangeLog][Potentially Source-Incompatible Changes][QFileInfo] Most
QFileInfo constructors are now explicit. The
QT_IMPLICIT_QFILEINFO_CONSTRUCTION macro is provided to keep old code
working.

Change-Id: Ic580e6316e67edbc840aa0c60d98c7aaabaf1af6
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-11-15 18:30:16 +01:00
Giuseppe D'Angelo
1869615fc9 QChar: make construction from integral explicit
QChar should not be convertible from any integral type except from
char16_t, short and possibly char (since it's a direct superset).

David provided the perfect example:

  if (str == 123) { ~~~ }

compiles, with 123 implicitly converted to QChar (str == "123"
was meant instead). But similarly one can construct other
scenarios where QString(123) gets accidentally used (instead of
QString::number(123)), like QString s; s += 123;.

Add a macro to revert to the implicit constructors, for backwards
compatibility.

The breaks are mostly in tests that "abuse" of integers (arithmetic,
etc.). Maybe it's time for user-defined literals for QChar/QString,
but that is left for another commit.

[ChangeLog][Potentially Source-Incompatible Changes][QChar] QChar
constructors from integral types are now by default explicit.
It is recommended to use explicit conversions, QLatin1Char,
QChar::fromUcs4 instead of implicit conversions. The old behavior
can be restored by defining the QT_IMPLICIT_QCHAR_CONSTRUCTION
macro.

Change-Id: I6175f6ab9bcf1956f6f97ab0c9d9d5aaf777296d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-11-15 14:41:05 +01:00
Andreas Buhr
1aec96bffd update KDE-ECM CMake modules to include fuzzer sanitizer
Updates one 3rdparty CMake file from
https://github.com/KDE/extra-cmake-modules to include support for
fuzzing.

Task-number: QTBUG-88429
Change-Id: I19e7ed3c5602c34ba4b86e6b0df2ea3047c7c9e6
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-14 10:05:20 +01:00
Allan Sandfeld Jensen
bf820bd3e2 Fix c++20 builds
Change-Id: I5c44fd72fea9bf1a5aafefa2dfd935295a519819
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-11-14 09:28:37 +01:00
Volker Hilsheimer
8a0a43bdaa Inline trivial getters for QEvent subclasses
Change-Id: Ic0ee4f3e311e1068d23796cee4fe58008a2a8114
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-11-13 23:28:39 +01:00
Bartlomiej Moskal
64d62c53c1 Android: Treat ACTION_CANCEL as TouchPointReleased
If TouchPointPressed was previously send and there is no
TouchPointReleased, we are exposed to uncorrectly handled touches
by application.

Some Android devices can recognize hand gestures. In some case the
gesture may be handled by Android System. In this situation
ACTION_CANCEL MotionEvent is delivered

ACTION_CANCEL - from Android specification:
-"Occurs when the parent takes possession of the motion, for example
when the user has dragged enough across a list view that it will start
scrolling instead of letting you press the buttons inside of it"
-"The current gesture has been aborted. You will not receive any more
points in it. You should treat this as an up event, but not perform
any action that you normally would"

If ACTION_CANCEL appears it means that ACTION_UP will not be delivered
to application. That is why ACTION_CANCEL need to be treat as
TouchPointReleased event.

Fixes: QTBUG-72110
Pick-to: 5.15
Change-Id: I8f32930cdb424b7530adc87b8334ac48a3bb9d57
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2020-11-13 21:00:44 +01:00
Jarek Kobus
f4edc44265 Update qclass_lib_map.h according to split of svg module
Fixes: QTBUG-88259
Change-Id: Ibda15aabe2c42dd6b59f5a11d18abb154c176526
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-11-13 20:58:02 +01:00
Andreas Buhr
2b49b01aa3 Blacklist authenticationCacheAfterCancel on Ubuntu 20.04
The test authenticationCacheAfterCancel was the only one to fail
in recent COIN runs. This patch blacklists it on Ubuntu 20.04.

Task-number: QTBUG-88417
Change-Id: Idc85499da82336d291d9a90ecb941810a0e6c935
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-11-13 20:56:45 +01:00
Jan Arve Sæther
600b7bfa89 Remove some code checker issues (L218 & L243)
An addition, avoid code duplication.

Change-Id: I26d1d8d65ba330a2024eb5c17c3bceb21e014200
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-11-13 20:31:22 +01:00
Sona Kurazyan
2bce62a318 Conditionally disable code snippets that depend on cxx11_future
Fixes: QTBUG-88392
Change-Id: Ida215253fdcad66a5a67084d3ff6781583101859
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-11-13 20:31:22 +01:00
Andreas Buhr
1c4ddbafbb Remove unused variable to fix build with clang-10
Change-Id: I800df8184b3a713b27c71b6303b98b760a4dfc83
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2020-11-13 20:14:19 +01:00
Li Xinwei
215400e153 CMake: Install pdb files to proper directories in multi-config build
In multi-config build, for different configs, the pdb files of EXEs
should have different installation directories.

For example, when CMAKE_CONFIGURATION_TYPES=RelWithDebInfo;Debug,
<build_dir>/bin/moc.pdb will be installed to <install_dir>/bin/moc.pdb.
<build_dir>/bin/Debug/moc.pdb should be installed to
<install_dir>/bin/Debug/moc.pdb, not <install_dir>/bin/moc.pdb.

Fixes: QTBUG-88268
Change-Id: Idc7c92ca8d44bb81d990656af2b309306a4f5c6b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-14 01:05:08 +08:00
Volker Hilsheimer
654156fb79 QItemSelection: Use public constructor from baseclass
Addresses code review comment.

Change-Id: I51c1d790217346358e15ed5ca750ea397a765406
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-11-13 18:05:08 +01:00
Timur Pocheptsov
9662ff67ce tst_qsslkey - handle QT_NO_SSL properly
The recent change handling missing elliptic curves introduced a problem
for '-no-ssl' configuration/build. The first version had some protection,
but it was openssl-specific and required a private feature, thus was
removed. Now the real ifdef must be with QT_NO_SSL

Fixes: QTBUG-88238
Pick-to: 5.15
Change-Id: I6fba26d6ab63850e1468e76f8b234703255a026c
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-11-13 18:05:08 +01:00
Eskil Abrahamsen Blomfeldt
d8efe51303 Update Qt OpenGL docs and add porting docs
This fleshes out the Qt OpenGL documentation, since this
is now a first class citizen and no longer a compatibility
module. It also adds Qt OpenGL-related info on porting
to Qt 6.

Fixes: QTBUG-88150
Change-Id: I85fcaa2eb5ae574416dcebcc0104bf97428ff42d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2020-11-13 10:08:49 +01:00
Andreas Buhr
c87692a48b remove unused variables and parameters to fix compilation with g++-10.2
The changes in 94dd2cebdc,
"Remove Qt4Compatible painting" left some unused variables and
parameters. This leads to warnings which are treted as errors and
thus inhibit a successful build with g++-10.2. This patch removes
them and thus enables building with g++-10.2 again.

Change-Id: I5f83aa8ec8706c3e783540f5116f455ea8fe44c2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-11-13 10:08:49 +01:00
Allan Sandfeld Jensen
1c56ff73aa Fix scaling of basic patterns under HiDPI
The dense patterns should not be non-smoothly scaled, just repeated
more.

Change-Id: I869556039ea1c91773bf2bc83d236b4592bcfc66
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-11-13 10:08:49 +01:00
Dimitrios Apostolou
4e935e35f1 Avoid false positives in Clang static analyzer
This assert should avoid three null-pointer dereference warnings, that
get flagged later in the same function, assuming that worker is null.

Change-Id: I1bf521fa335ee14b8ac98e872f31ef704f386efe
CodeChecker-report-hash: 38b39301a55fdb09bb0ec7cd43aa4f5e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2020-11-13 01:17:30 +01:00
Volker Hilsheimer
062ba97f86 Drop the d-pointer of QEvent
It's not been used ever since it was added in the Qt 2 days, other than
a hack in QGraphicsView that could be solved more elegantly.

With this change, QEvent is only 16 bytes large, which is nicely aligned
with C++'s default operator new alignment, and we still have
plenty of bits (plus an unused bool) left for extensions.

Change-Id: If9376d90b92983db7fc12575f3893064a1797adf
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-11-12 22:38:29 +01:00
Volker Hilsheimer
d5ae51e0f5 Clean up and pack data members of QEvent classes
Make sure all bits reported by sizeof for the most important public
event classes are used optimally.

QEvent is 24bytes large due to default alignment in C++, so we might
just as well use bool instead of bitfields for the most important
data members. This generates less (and thus smaller and faster) code,
and we still have plenty of bits available for future needs.
Default the copy constructor and assignment operator, the assert and
tracing seem to be relics from the Qt 3/4 days.

Note: QEvent's d-pointer is currently unused, with the exception of a
hack in QGraphicsView. Removing that would save another 8 bytes
through the entire event hierarchy.

For the new classes in the QInputEvent hierarchy, apply the same
principle. Allocate bits in QInputEvent and QSinglePointEvent to fill
the 8-byte aligned space. Using some of those bits for QMouseEvent
and QWheelEvent makes sure we don't increase the size for those in
spite of additionally reserved bits.

As a result of this, several QInputEvent and subclasses become 8 bytes
smaller on clang and gcc (with the exception of QNativeGestureEvent)
while at the same we have more space for future extensions.

The sizeof's for the various classes on different compilers produce
these before and after result:

                   clang +/- gcc +/- msvc +/-
QEvent               24   0   24  0   24   0
QInputEvent          56  -8   56 -8   48   0
QPointerEvent        80  -8   80 -8   72   0
QSinglePointEvent    96  -8   96 -8   88   0
QMouseEvent          96  -8   96 -8   88   0
QTabletEvent        112  -8  112 -8   96 -16
QKeyEvent           104  -8  104 -8   96   0
QNativeGestureEvent 120   0  120  0  120   0
QWheelEvent         112  -8  112 -8  112  -8

So, with this change we save 8 bytes on gcc and clang for many
event types, esp on Linux systems.

As a drive-by: replace ulong with quint64, make QTabletEvent data
floating point, and rename some variables for clarity.

Change-Id: I4cf81c8283262cbf59ee3fb7064a59837332ced7
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-11-12 22:38:25 +01:00
Assam Boudjelthia
090efe6b0e Android: fix configure help for --android-abis
Qt 6.0 doesn't support multi-abi builds.

Change-Id: Ic944460d8299d98b6003d12a3c7a33bf7e619db9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-12 23:11:40 +02:00
Alexey Edelev
558f5a2d7b CMake: Add support for -binary option for generated resources
Add handling of -binary flag in qt6_add_resources for generated
resource file variant.

If -binary argument is provided in OPTIONS section of
qt6_add_resources function, it will be passed to rcc as argument.
File path to output .rcc could be additionally specified by
DESTINATION argument. Extra target generated_<resource_filename>
will be added to project's 'all' set.

Implement tests for new functionality.

Fixes: QTBUG-87644
Change-Id: Id1313da499d86f82859d1757c3cfae2d84e894d4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-12 22:11:37 +01:00
Assam Boudjelthia
29b17fa335 CMake: fix running Android tests
Android *.so files need to CXX visibility to default after
qt_set_common_target_properties() which was setting it to hidden.

Also, pass the correct androidtestrunner arguments for cmake check
target

Fixes: QTBUG-88228
Change-Id: Ia29cdc9e65153c9669f3ec06f74a46f8fcd8c507
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-12 23:11:35 +02:00
Tor Arne Vestbø
1777ddc234 cmake: Remove indirection via Startup target for EntryPoint
The EntryPoint interface target now contains all the logic
for what flags and optional static libraries to add when the
entrypoint is enabled.

The target property QT_NO_ENTRYPOINT can be used to disable
the entrypoint.

Change-Id: I9b14ff729366cd6307789c969ebd4b2ca19de77d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-11-12 18:43:43 +01:00
Sona Kurazyan
4cc2196f6a Don't highlight the QtConcurrent progress dialog example
Change-Id: Iaccfc5b8d30f6903c5d27b5ed379d1ca364f7c69
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-11-12 15:25:07 +01:00
Sona Kurazyan
1e9784e6a2 Conditionally disable tests that depend on cxx11_future flag
Fixes: QTBUG-88392
Change-Id: I33b8ffd72be8a653e0923ef1e57305ffaf6b0428
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-11-12 15:25:07 +01:00