Commit Graph

2794 Commits

Author SHA1 Message Date
Kai Koehne
1d5f9fcc8a Handle quotes in .prl files
Do remove quotes around libraries before trying to parse them.
This patch is a follow-up to eda28621f6, and fixes
an issue on Windows where e.g. Qt5AxServer.prl contains entries
like

   "-lole32"

Fixes: QTBUG-73475
Change-Id: I3d1353de618328a0d44bacd4dbd6aba8fc66b1b7
Reviewed-by: Kyle Edwards <kyle.edwards@kitware.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-03-21 08:46:31 +00:00
Qt Forward Merge Bot
19510477b4 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: Ie7f68dcd5650e0037b6c3313cc9ffdcd7c494fbe
2019-03-21 01:00:07 +01:00
Qt Forward Merge Bot
6893919b0c Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	src/gui/kernel/qplatformintegration.cpp
	src/gui/kernel/qplatformintegration.h
	src/plugins/platforms/wasm/qwasmintegration.cpp
	src/plugins/platforms/xcb/qxcbconnection_screens.cpp

Change-Id: I15063d42e9a1e226d9d2d2d372f75141b84c5c1b
2019-03-20 14:09:30 +01:00
Andy Shaw
c808a6978b Add a means to handle dynamically created qmldir files
This will enable modules like QtWebView which needs to generate its
qmldir at qmake time since it changes depending on whether QtWebEngine
is available or not. This ensures that it is not created in the sources
directory and in the build directory and correctly picked up.

Task-number: QTBUG-65092
Change-Id: Iac628b97145d29778f554510e8e07102d588df64
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-03-20 08:37:59 +00:00
Timo Aarnipuro
b4b8ea6181 configure: Allow libraries to be defined with exact filename
INTEGRITY compiler searches for exact filename if the -l argument already
contains .a suffix. GNU linker uses exact filename if -l argument begins
with a colon.

Change-Id: I62be8f1e6b9c7dc7eaa5ab3d4bfc55460d729737
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2019-03-20 07:09:27 +00:00
Yuhang Zhao
75b3c471b3 win32-clang-msvc: qmake.conf: Fix alignment
Change-Id: I62bff5e10c0dfb45078a9ff5a2378f251c6596aa
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-03-20 04:04:51 +00:00
Eskil Abrahamsen Blomfeldt
3ca05b2a2e Wasm: Build with Qt's freetype, png and zlib
Compilation breaks on Windows and macOS hosts with USE_ZLIB=1.

In addition, it turns out that the versions of the libraries in
Emscripten Ports are outdated. Since we have newer versions
of these libraries in Qt already, we will just use those.

This is a revert of 70b558ad5b.

Task-number: QTQAINFRA-2835
Change-Id: Ic2642b7d319a3447fd08843657eb0535255e0449
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-03-19 20:38:28 +00:00
Andy Shaw
d2dff76a4f Replace instances of - with _ when generating the function name
As - cannot be used in a function name but can still be used as part of
the TARGET, then we need to make sure that it is replaced to avoid a
compile problem.

Change-Id: I0b2e465310206e2522ce59235b1592517817d3e2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-03-19 13:35:15 +00:00
Qt Forward Merge Bot
a1808c5dbe Merge remote-tracking branch 'origin/5.12.2' into 5.12
Change-Id: I5f9d8090a07056411fb65d7de60eb679d00e99a3
2019-03-15 11:10:10 +01:00
Morten Johan Sørvig
9ab25792b5 wasm: Add WASM_OBJECT_FILES=1 build mode
This mode significantly improves build (link) time.
Opt-in by passing “-device-option WASM_OBJECT_FILES=1”
to configure.

This requires a custom emsdk build which uses upstream
llvm.

Task-number: QTBUG-72537
Change-Id: I47bab2b58ae7e49ca104233ec14fff7b93516d36
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-03-06 09:28:53 +00:00
Qt Forward Merge Bot
607338f98f Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I83f6ed9480bf21020ce7a9431010d87a88df84a1
2019-03-02 01:00:08 +01:00
Jean-Michaël Celerier
f5850cb0da CMake: fix generation of config files for external Qt modules
When such modules aren't following the libQt5Foo.so naming convention,
the generated CMake files would be incorrect.

Change-Id: I57908f7466bff7a05f19271ccd495849476bdf38
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2019-03-01 14:15:12 +00:00
Joerg Bornemann
20063cf999 Actively discard return value of qtConfGetNextCommandlineArg
Calling a qmake replace function without assignment is undefined
behavior.

This amends 11ae0e77.

Change-Id: Ie716f295275d1ba79a217745b332a8eca04b355d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-03-01 10:35:46 +00:00
Qt Forward Merge Bot
043f99954f Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: Icc9b061c56e969756f0351c936cdeb8063c86079
2019-02-28 01:00:15 +01:00
Joerg Bornemann
49ef377349 Fix determination of OpenGL include paths on macOS, take 2
The sysrootification of OpenGL include paths must be done only once: at
configure time. The resolved paths are stored since 521a8539 and must not be
resolved again.

Turn the makeSpec-type opengl library into a custom-type one, and do
the sysrootification in the handler function.

Fixes: QTBUG-73736
Change-Id: I2933144057d6f01d8bfc7bda2c2df56c57303459
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-02-27 09:53:52 +00:00
Kai Koehne
bc107d8100 Allow QML plugin to specify import name explicitly
For creating the qmlplugindump rule we need the name of the import. So
far we're trying to derive this from the directory name, but that
becomes complicated if versions are included, like

  QtQuick/Controls.2/Fusion

Instead of trying to tweak the regexp even more to capture this, we
now allow a plugin to set it's name explicitly via IMPORT_NAME.

Change-Id: Ie75dae7d41398b3ac19ccb6910002b6fad009891
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-02-26 07:32:22 +00:00
Christian Kandeler
d6d80ff2e9 Automatic resources: Fix tooling support
The files to be put into an auto-generated qrc file must not simply
disappear, because IDE users still need to have them in the project tree.
So we add them to OTHER_FILES now.

Task-number: QTCREATORBUG-20103
Task-number: QTCREATORBUG-20104
Change-Id: I8a9136491f975def7c33385e375c407815ad269a
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-02-25 09:39:13 +00:00
Qt Forward Merge Bot
64085d9b2f Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I9e7cb1b131b7b216aad8ed1b1536669fd1557c21
2019-02-22 01:00:27 +01:00
Oliver Wolff
7227e54445 qmake: Fix COPIES for Visual Studio projects
QINSTALLS is not set when Visual Studio projects are used. Use its
resolved value in case that Visual Studio projects are generated.

Change-Id: I8c21d4335971f45e56b3549086cb803c2d464158
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-21 06:43:56 +00:00
Qt Forward Merge Bot
2e8987b7ec Merge "Merge remote-tracking branch 'origin/5.12' into 5.13" into refs/staging/5.13 2019-02-21 01:34:52 +00:00
Qt Forward Merge Bot
0c0c4a23bc Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I830beea26863323ab78a5d4b093f7763d77ad3da
2019-02-21 01:00:08 +01:00
Lorn Potter
70b558ad5b wasm: fix system lib detection and use
This is a revert of eea08d376a.
We need these flags to be added to the compiler in order to find the
emscripten ports to be able to use them.

Task-number: QTBUG-73127
Change-Id: Icf70f456947aef04dc79b2328f2e95fb1e94fcf8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-02-20 23:03:09 +00:00
Oliver Wolff
ba58776a79 winrt: Add support for Visual Studio 2019
Change-Id: I5a07a3d20425a8c7ce2b2477792c379afeff5680
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
2019-02-20 13:32:29 +00:00
Qt Forward Merge Bot
67c70b22f6 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: Ifa143cc462301aaa305c9c85360e543553a751f0
2019-02-19 01:00:08 +01:00
Joerg Bornemann
8fe3680193 Add cmdline feature to qmake
[ChangeLog][qmake] A new feature "cmdline" was added that implies
"CONFIG += console" and "CONFIG -= app_bundle".

Task-number: QTBUG-27079
Change-Id: I6e52b07c9341c904bb1424fc717057432f9360e1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2019-02-18 07:12:14 +00:00
Joerg Bornemann
0c03316ec9 Revert "Fix determination of OpenGL include paths on macOS"
This reverts commit 37970d7b3e.

That commit broke the build on macOS, because the OpenGL headers aren't
resolved anymore at configure time.

Change-Id: Iec6ef009c9ea7e28b12eeca6b5eb06918bf49d98
Fixes: QTBUG-73827
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2019-02-16 16:25:24 +00:00
Qt Forward Merge Bot
ef2ddcf551 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I8cad26f17834dbc9f7151edc0f17786f9e32025d
2019-02-15 01:00:51 +01:00
Samuel Thibault
501cca2c4b Add <features.h> include to hurd-g++ mkspec
Without this include, __REDIRECT does not get defined, and then
open gets #defined to open64, leading to bogus MOC output.

See https://bugs.debian.org/920613.

Change-Id: I629d9dc6af05b9480c0c81a61d8890ab8bbefaae
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-02-14 14:24:56 +00:00
Joerg Bornemann
797f686ea4 Turn bcm_host library into makeSpec source
The bcm_host library couldn't be detected anymore. Let the makespec
provide LIBDIR, INCDIR and LIBS for bcm_host to fix this.

Change-Id: I4bc268504dc48edaf2884f1c14b745260fd9112c
Fixes: QTBUG-73727
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-02-14 07:27:34 +00:00
Oliver Wolff
896b307679 Add support for Visual Studio 2019
Change-Id: I963fc1c159edc644f081675c3dee248c25d7c9dc
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
2019-02-13 14:04:54 +00:00
Liang Qi
93bcd488af Merge "Merge remote-tracking branch 'origin/5.12' into 5.13" into refs/staging/5.13 2019-02-12 18:13:34 +00:00
Jean-Michaël Celerier
cbbf7ddd3d Fix detection of libraries when linking against static builds with CMake
This patch is a follow-up to eda28621f6.
It adds a translation of the $$[QT_INSTALL_LIBS] variable into
a path that CMake understands.
Without this, CMake finds the system libraries if there are any
instead.
It also handles the case where the .prl file contains absolute paths to
libraries, as it happens for instance on Debian systems.

Task-number: QTBUG-38913
Change-Id: If68373efee22bc00172e8fead3e2c12ea440787f
Reviewed-by: Kyle Edwards <kyle.edwards@kitware.com>
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2019-02-12 13:09:38 +00:00
Joerg Bornemann
37970d7b3e Fix determination of OpenGL include paths on macOS
Since include paths are fully resolved, we must remove the code that prepends
the SDK path to the OpenGL include paths.

Change-Id: I80d74629c7fc989a89c3f1d95d6de43b4c1de17a
Fixes: QTBUG-73736
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-02-12 12:58:44 +00:00
Qt Forward Merge Bot
d3b3be6865 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: Iad53d4f21263718b8ecf15fd2d1170d24c7b675d
2019-02-12 13:53:22 +01:00
Eric Lemanissier
fd88c152db configure: use proper separator for mingw libraries
Change-Id: Ic328691fe2f08e918c1bb67910521d85b274a8fd
Fixes: QTBUG-73466
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-02-12 05:48:58 +00:00
Liang Qi
fbfacd33be Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	src/android/templates/AndroidManifest.xml
	src/network/ssl/qsslsocket_mac.cpp
	src/widgets/styles/qstylesheetstyle.cpp
	tests/auto/corelib/kernel/qtimer/BLACKLIST
	tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp
	tests/auto/testlib/selftests/expected_blacklisted.lightxml
	tests/auto/testlib/selftests/expected_blacklisted.tap
	tests/auto/testlib/selftests/expected_blacklisted.teamcity
	tests/auto/testlib/selftests/expected_blacklisted.txt
	tests/auto/testlib/selftests/expected_blacklisted.xml
	tests/auto/testlib/selftests/expected_blacklisted.xunitxml
	tests/auto/testlib/selftests/expected_float.tap
	tests/auto/testlib/selftests/expected_float.teamcity
	tests/auto/testlib/selftests/expected_float.txt
	tests/auto/testlib/selftests/expected_float.xunitxml

Done-With: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Done-With: Edward Welbourne <edward.welbourne@qt.io>
Done-With: Timur Pocheptsov <timur.pocheptsov@qt.io>
Change-Id: If93cc432a56ae3ac1b6533d0028e4dc497415a52
2019-02-08 12:31:02 +01:00
Morten Johan Sørvig
de4f256d48 Wasm: enable thread support
configure.json: Make the “thread” feature be allowed
for wasm but disabled by default.

Change qmake.conf and wasm.prf to enable Emscripten
pthreads mode:
- Add USE_PTHREADS=1 linker flag
- Add PTHREAD_POOL_SIZE linker flag with a default pool size (4).
- Add TOTAL_MEMORY linker flag to set available memory (1GB)

It is possible to override options such as PTHREAD_POOL_SIZE
from the application .pro file using QMAKE_WASM_PTHREAD_POOL_SIZE
To change TOTAL_MEMORY, use QMAKE_WASM_TOTAL_MEMORY

Make qtloader.js work in pthreads mode:
- The Module.instantiateWasm callback must provide the module
  in addition to the instance to Emscripten.
- Set Module.mainScriptUrlOrBlob so that the pthreads web workers
  can access the main script

Task-number: QTBUG-64625
Change-Id: I1ab5a559ec97c27c5fc24500ba5f863bcd275141
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-02-07 16:13:26 +00:00
Morten Johan Sørvig
6e7a7d5fb9 Wasm: enable source map support for debug builds
The source map location can be configured by setting
QMAKE_WASM_SOURCE_MAP_BASE in the .pro file. Fall back
to “http://localhost:8000” if not set.

Task-number: QTBUG-72002
Change-Id: I9da80dacdefc272f267e5db4caac274d93ba4479
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-02-07 16:11:23 +00:00
BogDan Vatra
74e04d6ace Android: follow official android flags for cmake
Update our cflags and lflags with the ones found in android.toolchain.cmake

Fixes: QTBUG-73274
Change-Id: Id9fd9bf04df959239abd3100090a1485e872b2f0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-02-07 09:02:17 +00:00
Michal Klocek
7910dd0a54 Add llvm linker detection to configure
https://gcc.gnu.org/ml/gcc-patches/2018-10/msg01240.html

This is currently only used for webengine, where link time really matters.

New configure options:
* force 'lld'  '-linker lld' or' --linker=lld'
* force 'gold' '-linker gold' or '--linker=gold'
* force 'bfd' '-linker bfd' or '--linker=bfd'

Note before by default gold was always forced (if supported) now default linker
is system default one.

[ChangeLog][Tools][configure & build system] Added --linker=[bfg,lld,gold] configure flag.

Change-Id: Idaa13510da70243c6176b96db846d629cd65c7af
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-02-06 22:11:22 +00:00
Qt Forward Merge Bot
670b843369 Merge "Merge remote-tracking branch 'origin/5.12.1' into 5.12" into refs/staging/5.12 2019-02-06 10:52:13 +00:00
Qt Forward Merge Bot
e4c29088c8 Merge remote-tracking branch 'origin/5.12.1' into 5.12
Change-Id: I486f3c51df4b60fe60b75ba642636a835a75f731
2019-02-06 10:28:01 +01:00
Joerg Bornemann
8e6231f4eb Fix install targets for generated private headers
Header files of modules that specify generated_privates are usually
not yet available at qmake-time. Thus, the installation rule must not
check for the file's existence.

Change-Id: Ifc7ff95422912d255744c9006382ff181176ae77
Fixes: QTBUG-71340
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-02-06 07:17:46 +00:00
Andy Shaw
9435526d50 qmake: Add variables for setting the version number and name in Android
This makes it much easier to have the version information set for an
Android APK without having to manually modify the AndroidManifest.xml
each time.

[ChangeLog][Android][qmake] Can now set the version name and code for
Android using ANDROID_VERSION_NAME and ANDROID_VERSION_CODE respectively
in the pro file.

Change-Id: Ie6813bc3a7444f7baa5e772b93bc2695d9b81e57
Done-with: Markus Maier <markus.maier@rosenberger.de>
Reviewed-by: Markus Maier <markus.maier@rosenberger.de>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-02-04 16:57:07 +00:00
Tor Arne Vestbø
5d181961ea macOS: Don't check for stale SDK unless target needs to be remade
Also catches some more variants of SDK mismatch, such as Xcode not
being installed at all, or the SDK missing.

Change-Id: I184aaa571ef0ea722ca64c54f665462dabc17533
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-01-29 11:08:31 +00:00
Joerg Bornemann
c2b0bca984 configure: Respect -continue in qtConfParseCommandLine
If configure is called with -continue, it should not stop processing
command line arguments after encountering an invalid one.

Example:
  configure ... -continue -quack -no-feature-gui
would ignore everything after -quack.

Change-Id: Ia5f0cb13414c9c0c7246ff0c72f8e935fe6dca3c
Fixes: QTBUG-72912
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-01-29 10:51:19 +00:00
Joerg Bornemann
11ae0e772c Consume the -skip option in qtbase/configure
...and yield a warning that -skip has no effect in a qtbase build.

This is consistent with configure's help output and enables us to
always pass "-skip qtwhatnot", whether we're calling top-level or
qtbase configure.

Change-Id: Ie5b0791a6000d1d78b1367658ad86a92b2ec6a6a
Fixes: QTBUG-71253
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-01-29 10:51:10 +00:00
Morten Johan Sørvig
3a9240428c Wasm: disable resources_big
Errors out with “No data signature found”.

Change-Id: Ia9a38e8c71aef4e090494ed4754f4c14e913b092
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: hjk <hjk@qt.io>
2019-01-28 16:06:39 +00:00
Liang Qi
980567b3a3 Merge remote-tracking branch 'origin/5.12' into dev
Conflicts:
	src/android/templates/AndroidManifest.xml
	tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp

Change-Id: I4c9679e3a8ebba118fbf4772301ff8fde60455b9
2019-01-26 08:35:40 +01:00
Janne Koskinen
63891267c1 Disable NEON flags from Integrity compiler
Integrity assembler doesn't understand NEON assembly statements.
Compiler enables _ARM_NEON_ and _ARM_NEON to indicate that NEON
intrinsics are available. _ARM_NEON_ and _ARM_NEON needs to be
disabled to skip handwritten assembly code paths in Qt.Auto-
vectorization is enabled without the flags enabled.

Task-number: QTBUG-72716
Change-Id: I84cfbf98bd2af47740a79f4b300c1801017ee22c
Reviewed-by: Tuukka Turunen <tuukka.turunen@qt.io>
Reviewed-by: Kimmo Ollila <kimmo.ollila@qt.io>
Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-01-25 11:15:04 +00:00