Commit Graph

46320 Commits

Author SHA1 Message Date
Alexandru Croitor
878551a146 CMake: Allow specifying custom configure.cmake file for module
This is required for qttools, where the configure.cmake file lives in
the top-level source dir, but the module is in src/global.

The new CONFIGURE_FILE_PATH option allows specifying a different
location for the configure.cmake instead of the default value.

Change-Id: I260d7c93dd49337ebe07ae4cc871394da9e9c2c6
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-23 14:11:53 +02:00
Edward Welbourne
bcc3472aa2 Add a warning and tidy some trivia
An attempt to setSpec(TimeZone) gets treated as setSpec(LocalTime), as
the method has no parameter to carry *which* zone; this was done
silently, but should be brought to the caller's attention.  So warn.

Moved a declaration closer to its use, folded an if/else into a single
assignment using ?: and removed a fatuous \fn just before the function
it desribed.

Change-Id: Ia35c87e0ba373675d3ae1e6ef3bf05016c06c48d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-23 14:01:12 +02:00
Edward Welbourne
a04411119e Save DST status when computed for a mutable QDateTimeData
Most calls to localMSecsToEpochMSecs() happen from functions that
can't save the DST status it repots (due to the data being const); but
refreshDateTime() can and (given its name) clearly should.

Pick-to: 5.15
Change-Id: Ib53c88d2233925da275f0ac52f768cada92c5d2d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-23 14:01:12 +02:00
Jarek Kobus
29c99bddbf Use QList instead of QVector in examples
Task-number: QTBUG-84469
Change-Id: Id14119168bb1bf11f99bda7ef6ee9cf51bcfab2e
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-06-23 14:01:11 +02:00
Alexandru Croitor
d7efb2a419 CMake: Fix include paths for AUTOMOC when using frameworks
The qml app was crashing when used by qtdeclarative auto tests. It
complained about unregistered QML types. qmltyperegistrar didn't
create registration info for these types. moc didn't output class info
about these types because the build system didn't provide the proper
include paths.

In qmake land, moc was given 2 sets of paths when building a module:
the non-installed framework dirs as -F flags, and also the
$repo_build_dir/include paths as regular -I flags.

In CMake land we only gave include paths to the non-installed
framework dirs as -I flags, not -F flags.
That's because AUTOMOC checks for a specific pattern in the include
paths to transform them into framework include paths
(existence of Foo.Framework/Headers symlink),
and we didn't pass such an include path.

Make sure to mimic what qmake does, and pass -I flags to
$repo_build_dir/include as public include paths, but only via
BUILD_INTERFACE aka when building Qt itself.

Also pass -F flags by specifying framework include paths in the
pattern that AUTOMOC expects.

Fixes the following qtdeclarative tests
 tst_qdebugmessageservice
 tst_qqmlinspector
 tst_qqmlenginedebuginspectorintegration
 tst_qqmlpreview

Task-number: QTBUG-84886
Change-Id: Iab9693d9889bf6d2c40fed067ab9b9da8683a053
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-23 14:01:11 +02:00
André Klitzing
7e5a803c08 Fix living QObject member after shutdown of QCoreApplication
QHostInfoLookupManager has a QThreadPool as member.

QThreadPool is a QObject and must be deleted if the QCoreApplication
is being destroyed to release the underlying ThreadData.
A Q_GLOBAL_STATIC won't release any memory is not able to
manually release it.

Pick-to: 5.15
Task-number: QTBUG-84234
Change-Id: I96be4601c3af38fa7c753a6f7acb8273ee277a27
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-23 14:01:11 +02:00
Andy Shaw
0fb1774a0a Simplify QSqlResultPrivate::fieldSerial()
Now that the bound values are kept in placeholder order we can
depend on that and not have to ensure that fieldSerial() would
give us something that is in alphabetical order should it end
up being sorted.

Change-Id: I3a3e443bef150a06f455e18e3502235b1ae4d242
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-23 08:31:47 +02:00
Marc Mutz
44da43e8e4 QString: add char8_t overload of fromUtf8()
Use the overload-with-template trick from P1423 to avoid ambiguities
when existing callers pass 0 or nullptr.

Add a qdoc-ignored macro to hide the fact that the overload is a
template.

[ChangeLog][QtCore][QString] Added char8_t overload of fromUtf8().

Change-Id: Iaa2d365bfa161ef36cc73fa3bad50aabf34d01db
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-23 06:31:28 +00:00
André Klitzing
1304040e5d Fix living QObject after shutdown of QCoreApplication
QThreadPool is a QObject and must be deleted if the QCoreApplication
is being destroyed to release the underlying ThreadData.
A Q_GLOBAL_STATIC won't release any memory is not able to
manually release it.

Pick-to: 5.15
Task-number: QTBUG-84234
Change-Id: Ia82bcff2b564b753ed687f025ff86fa1bed1e64c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-23 08:31:00 +02:00
Thiago Macieira
727fab7d29 QCborMap: remove the optimization not to detach from non-const find()
All our tests were find() == end() or !=, which depends on the
evaluation order of the arguments to operator==(). If end() is called
first, then the detach happens before find() and all is well. But if
find() is called first, it may return end() before end() detaches.

[ChangeLog][QCborMap] Fixed a bug that could cause the iterator returned
from a failing key search with find() not to match end(). Now, every
call to find() will detach in shared QCborMaps; to avoid this, use
constFind() and constEnd().

Fixes: QTBUG-84583
Pick-to: 5.15 5.12
Change-Id: I552d244076a447ab92d7fffd161793496a8d03a8
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-23 00:29:50 +00:00
Thiago Macieira
cdcb75c46b QMimeDatabase/zlib: fix build with z_const macro empty
The next_in pointer in z_stream is defined as "z_const Bytef *" but
z_const is actually an empty macro in most builds. Since our data is
read-only constexpr, we need this const_cast to compile.

Fixes: QTBUG-84457
Pick-to: 5.15
Change-Id: Ied637aece2a7427b8a2dfffd1612a01ae46f7c1a
Reviewed-by: David Faure <david.faure@kdab.com>
2020-06-23 00:29:31 +00:00
Friedemann Kleint
04b120bc3c Prospective fix for trying to build FontConfig on Windows
Strawberry Perl has been found to ship a libfontconfig.
Change the exclusion to win32.

Fixes: QTBUG-85184
Change-Id: Ic953ba3226c275a204720ff83161fba138eae0cb
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-22 22:25:46 +02:00
Marc Mutz
ffb73175e6 QVarLengthArray: add missing move special member functions
A QVLA is copyable, so it should be movable, too.

Added a helper function a la P1144's uninitialized_relocate_n to deal
with the QTypeInfoQuery stuff. This way, the code is re-usable
everywhere it's needed. The same cannot be said for QArrayDataOps,
which only a parent can love...

[ChangeLog][QtCore][QVarLengthArray] Added missing move constructor
and move-assignment operator.

Task-number: QTBUG-39111
Change-Id: If0dc2aa78eb29062d73dcd3dc4647ba345ae39e6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-22 17:24:07 +00:00
Jarek Kobus
670c5bd140 Use QList instead of QVector in moc
Task-number: QTBUG-84469
Change-Id: Id95a656e6277a7c348c02c3267a45ac176c1643b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-06-22 16:46:08 +02:00
Jarek Kobus
95a5cd71b6 Use QList instead of QVector in concurrent tests
Task-number: QTBUG-84469
Change-Id: Ia8113ef044a918e46176bfa3f4b34781dc69dd03
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
2020-06-22 16:46:01 +02:00
Jarek Kobus
b0792f391d Use QList instead of QVector in moc tests
Task-number: QTBUG-84469
Change-Id: I6a775b32a82658485216a4827a43503b395161c6
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-06-22 16:45:55 +02:00
Jarek Kobus
a298a8ea54 Use QList instead of QVector in uic
Task-number: QTBUG-84469
Change-Id: I2ce8ca51409c8e29a84d88bdda968e6dec419bea
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-06-22 13:58:30 +02:00
Jüri Valdmann
d9a260eabe Use global share context in QRhiGles2
Needed for using native textures in WebEngine.

Task-number: QTBUG-78682
Change-Id: I8458b17767bb992357064d85f159781ea24e61dc
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-06-22 13:55:40 +02:00
Eirik Aavitsland
f5c132ef28 Avoid Freetype synthesizing for large font sizes
Freetype's fake emboldening does not give good results for large font
sizes.

Pick-to: 5.15
Fixes: QTBUG-84570
Change-Id: I1a7722c1482e3450e5a549c31c9766d930fcd13a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2020-06-22 13:41:20 +02:00
Eskil Abrahamsen Blomfeldt
b862788e62 Remove confusing comment in CoreText font engine
The comment says we don't need synthetic italic for oblique, but
synthetic italic actually *is* oblique, since there is no way to
synthesize italic. So just remove the comment as it is unclear
what its purpose is.

Change-Id: I72f727b958e817e376d73f6c001d410a5f55a152
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-06-22 13:38:01 +02:00
Giuseppe D'Angelo
436b331b71 Enable access to the VAO resolvers through QOpenGLContextPrivate
This is a commit in preparation for an upcoming change in QtQuick.
We want to store the resolved functions for managing VAOs somewhere;
the "least worst" choice is next to the all other function resolvers,
which are in QOpenGLContext(Private).

To avoid moving the VAO resolvers themselves, leave a hook in
QOGLCPrivate, similar to e.g. the texture function resolvers. The hook
gets populated when the VAO resolvers for a given context are
requested.

This removes memory management burden from the users of those functions
(again, just like other function resolvers), and makes the
initialization of the functions automatic.

Change-Id: I0eba30a85bf8ad82946a5d68e91009d8b4bd91cf
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-06-22 12:48:30 +02:00
Mårten Nordheim
f1f0aa4a3a QNAM: Make QNetworkConnectionMonitor able to move to another thread
Requires moving construction and destruction of the IConnectionPoint
(contained in QNetworkListManagerEvents contained in
QNetworkStatusMonitorPrivate) and the calls to CoInitialize and
CoUninitialize to start()/stop() so it can be taken down
and brought up in a reasonable way.

Partial squashed cherry pick of bde6b27882
and the following fixup patch 84be436ef0.

Task-number: QTBUG-84031
Change-Id: I9d644261c6c730ea511e28d75da91bd34504bd03
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit bde6b27882)
(cherry picked from commit 84be436ef0)
2020-06-22 12:17:55 +02:00
Timur Pocheptsov
c2bf56fc3a QSslSocket: remove certificate-related setters
They were deprecated with replacements in QSslConfiguration proposed (and
some without alternative, which we'll provide if there is any demand
in such an API). Special thanks to M.N. for a nice hint on how to
amend the test without introducing a new API.

Change-Id: I7841a5b3f30469d8204b61cb65921c34275e0650
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-22 12:11:47 +02:00
Shawn Rutledge
29d3e7ce38 Replace "no devices registered" warnings with qCDebug
The idea was to keep nagging us to update all the platform plugins to
do device registration. But besides being annoying, it would cause
test failures if we start adding QTest::ignoreMessage() all over,
and then some platforms start doing device registration properly.

Change-Id: Ia0fbb64cf86f33532be032ec9eebe6e4ad607f20
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-06-22 11:22:17 +02:00
Jarek Kobus
4a12757e5d Use QList instead of QVector in QtConcurrent
Task-number: QTBUG-84469
Change-Id: I99e41c1fef5459d7358b20a97a1dbefcd43bb4e5
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-06-22 10:37:50 +02:00
Friedemann Kleint
c068b80727 Move UNIX themes into QtGui
Task-number: QTBUG-83255
Change-Id: I9e3aecd8e172b60121f472c840eaf2a5538af438
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-06-22 09:12:14 +02:00
Andy Shaw
8ba9d2e022 Change boundValues() to return a QVariantList
This enables the order of boundValues to be consistent as with a QMap
it could have been reordered which can be a problem for positional
bindings.

[ChangeLog][QtSQL] Changed signature of QSqlQuery::boundValues() to
return a QVariantList

Fixes: QTBUG-51609
Change-Id: I1c80fa8522fa7352723420b6fc9ec466406315fb
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-22 06:54:16 +02:00
Tor Arne Vestbø
590ac717a2 xcb: Remove need for QXCBScreen to resolve QXcbGlIntegration
Change-Id: I9de4f47bfdf88c92959f210e05c1fc1e8a459cde
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-06-21 20:24:56 +02:00
Gatis Paeglis
1e39b39ddb xcb: remove multi-connection code path
This code was introduced in 2011 as an experimental feature
and have been untested/unmaintained ever since. It's time to
remove it for the following reasons:

- It has never been documented in QGuiApplication under
  "Supported Command Line Options". The intended command
  line was: ./app -platform xcb:address:display

- I am not aware of other toolkits that would provide this
  functionality - connecting to several X displays simultaneously.

- XCB plugin respects the "-display" command line and DISPLAY
  envvar which should be sufficient. So the "workaround" to get
  your window on 2 X displays is:

    ./app -display :0
    ./app -display :1

- There are no JIRA bugs where users would complain that this
  feature does not work. AFAICT it has not worked for years.
  Almost all functions care only about the "default" connection,
  and don't attempt to support multi-connection.

- This will stop confusing people who want to contribute to
  the XCB plugin.

[ChangeLog][Platform Specific Changes][X11] Connecting to multiple
X servers simultaneously within the same application is no longer
supported.

Task-number: QTBUG-52408
Change-Id: I61ce23480702bb89b02c6028fa0986fe63481978
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-21 17:51:28 +02:00
Christian Ehrlicher
26a2266304 Remove deprecated QStyleOption::init()
Even it was not marked as deprecated the replacement function initFrom()
is available since Qt4 times (and init() is deprecated since then)

Change-Id: I09a4ebbf66b01fbe7aec67691dc68d2e42d1cd78
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-21 12:51:24 +02:00
Vikke Matikainen
b1433a6988 Android: Fix android accessibility not being set active
Android platform event of activating accessibility might be received,
before the platform plugin is initialized, thus disregarding the activation
step.

This change saves the activation event state and defers setting it in
platform integration.

Fixes: QTBUG-77320
Pick-to: 5.15 5.12
Change-Id: I06aab76159d1de0e72c0c535dbe80c2858f8e79b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-21 10:04:50 +00:00
Dimitrios Apostolou
b9b03165a5 Introduce Github Actions workflow for Cmake Ninja build
Has minimal configuration in order to achieve fastest build times.
CCache is on, and PCH is off as it significantly reduces the Ccache hit ratio.
This Github Workflow has been measured to take around
+ 30min without any Ccache hits and 8min  for a rebuild, on Linux
+ 20min without any Ccache hits and 4min  for a rebuild, on macOS
+ 1h    without any Ccache hits and 20min for a rebuild, on Windows

The goal is to use such Cloud building and testing systems as "smoke runs",
providing quick feedback, much sooner than the canonical approval from
Coin. Additionally having many independent systems helps verify "flakiness"
issues. Another big advantage of such systems is their hackability, allowing
someone to tweak the build parameters by just editing a couple of YAML lines.

Change-Id: I7eca22f513516b9e61f333fb1fe89ab11ed2d1d1
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-20 23:53:11 +02:00
Dimitrios Apostolou
1363084028 Add config file for enabling LGTM analysis
lgtm.com is already picking up qtbase's mirror repo on github, trying to
analyze it. Because it lacks build instructions, lgtm.com fails to analyze the
C++ code, and only presents flaws in the little python and javascript code
that is in the repo. With the file in this commit, it should be able to
analyze the C++ code too.

Change-Id: If558d26800e76c1b8590ed1aaf28adb6c0d6e188
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-20 23:52:59 +02:00
Lars Knoll
03326a2fec Move implementation of QVector/List back to qlist.h
And name the main class QList. That's also the one we document.

This gives less porting pain for our users, and a lot less churn
in our API, as we use QList in Qt 5 in 95% of our API.
In addition, it gives more consistent naming with QStringList and
QByteArrayList and disambiguates QList vs QVector(2|3|4)D.

Fixes: QTBUG-84468
Change-Id: I3cba9d1d3179969d8bf9320b31be2230d021d1a9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-20 20:01:33 +02:00
Michael Brüning
1a9a4af388 Only add file url if it references a local file
Remote URLs were converted to local file urls and converted to relative
paths, which led to bugs when copying URLs from e.g. the web
sites and pasting them into the command line.

Original patch by Allan Sandfeld Jensen.

Task-number: QTBUG-80243
Change-Id: I2cd41635b34b2ead424441719795705ef19d37f2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-06-20 16:10:27 +02:00
Christian Ehrlicher
4298385ec3 Remove deprecated roles BackgroundColorRole and TextColorRole
Change-Id: I2729102d1efa9f3809ec22c29517961800e7dc6d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-20 15:28:59 +02:00
Christian Ehrlicher
0ce37ab556 QtSql: remove unused includes
Change-Id: I6d47daa8fe17bf4be3b100f1a04d63dee4851daa
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-20 15:24:03 +02:00
Christian Ehrlicher
67fdb0fe6a QRect(F): remove deprecated functions
They were deprecated since Qt5.0 so it's time to go away.

Change-Id: Ib0192f9048ff15c9d47fb1a23046ccfe0ee7d807
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-20 07:58:35 +00:00
Christian Ehrlicher
7ff26c7762 Remove deprecated QStyleOptionFooVx typedefs
They were not used the whole Qt5 lifetime.

Change-Id: I1452b90d63bbeed3cc9131b04ed5263b38ad89b3
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-20 09:58:24 +02:00
Christian Ehrlicher
ef4bed7196 QSortFilterProxyModel: remove deprecated functions
Change-Id: I1775fafc6cca88c0c65032a1fd126dc3b42975c9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-20 09:58:06 +02:00
Christian Ehrlicher
6770e0b360 QTreeWidget: remove deprecated function items()
It does not return anything and was already deprecated in Qt4.8 (and
already returned an empty QList back then)

Change-Id: I3a2f1b79081d3289d13ba9fdee346aa730d16114
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-20 09:57:58 +02:00
Karsten Heimrich
18ec53156e Move QTextCodec support out of QtCore
* Assume UTF-8 on all Unix like systems
* Export some functions to be able to compile QTextCodec once
  moved to Qt5Compat.

Task-number: QTBUG-75665
Change-Id: I52ec47a848bc0ba72e9c7689668b1bcc5d736c29
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-20 02:04:38 +02:00
Lorn Potter
4455de24d4 wasm: fix crash when getting error like 404
Pick-to: 5.15
Change-Id: Ia9b81aaa8b1e9ea6ab20b8c6ff6f197e95d46d7d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-06-20 07:15:30 +10:00
Giuseppe D'Angelo
3e1d03b1ea Port Q_STATIC_ASSERT(_X) to static_assert
There is no reason for keep using our macro now that we have C++17.
The macro itself is left in for the moment being, as well as its
detection logic, because it's needed for C code (not everything
supports C11 yet).  A few more cleanups will arrive in the next few
patches.

Note that this is a mere search/replace; some places were using
double braces to work around the presence of commas in a macro, no
attempt has been done to fix those.

tst_qglobal had just some minor changes to keep testing the macro.

Change-Id: I1c1c397d9f3e63db3338842bf350c9069ea57639
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-19 19:38:23 +02:00
Sona Kurazyan
5b686e208f Don't truncate parameters passed to QStringView::{first/last/from/slice}
QStringView doesn't need to convert qsizetype parameters to int.

Change-Id: Iba8b5259ab3ed7a24a57bb6748446fd3e45bb182
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-19 19:37:51 +02:00
Robert Loehning
96065b7227 Fuzzing: Test svg images
Pick-to: 5.15
Change-Id: I1467d07eaaa1233417cd3a18fd65ec3322181984
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2020-06-19 19:16:28 +02:00
Alex Trotsenko
7aa327648c QProcess/Win: Avoid reentering the code in _q_processDied()
In case drainOutputPipes() makes a recursion, setting 'dying' to true
should protect the code from reentering. But, the next call to
QProcessPrivate::cleanup() resets this variable, which allows a
secondary pass. So, we should postpone setting 'dying' to false until
a new process session is started.

Fixes: QTBUG-33731
Change-Id: I269ad3b8defa32aa714ea13f8803a07259f475dc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-19 19:48:50 +03:00
Alexandru Croitor
10f8ebe3e2 CMake: Provide the minimum darwin deployment target needed by Qt
This is useful information for people that want to use Qt in their
project with CMake.

Unfortunately there is no good way to actually set
CMAKE_OSX_DEPLOYMENT_TARGET automatically with the Qt provided value,
because it needs to be set before the first project() call in a
CMake project.

This means it can be set either on the command line, or manually by the
application developer in CMakeLists.txt before the first project()
call or via a CMake toolchain.

In Qt 6 we provide a CMake toolchain file with the deployment target
already set, so if the application developer uses the Qt generated
toolchain, they will get the value automatically.

In Qt 5 the value can only be read for informational purposes only,
from the QT_DARWIN_MIN_DEPLOYMENT_TARGET property on the
Qt5::Core target. The same property is set in Qt 6 for compatibility
resons.

Task-number: QTBUG-76167
Task-number: QTCREATORBUG-22466
Pick-to: 5.15
Change-Id: Id61d70dc9a1b7a0e7cdb90b1e679171ea178126b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-06-19 18:41:23 +02:00
Joerg Bornemann
7f2ff4ffce CMake: Do not file(GENERATE) illegal genexes in .pri file generation
We must filter out expressions of the form $<TARGET_PROPERTY:name>, because
1. They cannot be used in file(GENERATE) content.
2. They refer to the consuming target we have no access to here.

The CMake error
  Error evaluating generator expression:

    $<TARGET_PROPERTY:QT_PLUGIN_CLASS_NAME>
was triggered when building the UiPlugin module of qttools.

Change-Id: Idf639be50120b94d68a70965604e6f1ef72edc9b
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-19 18:41:23 +02:00
Andreas Schwab
47a4e6a949 Fix note alignment
It is architecture defined whether .align means .palign or .balign.  Use
.balign to make that explicit.

Change-Id: I8c7e3760b37edfb207b7088319a338a1f583255b
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-19 14:28:47 +02:00