Commit Graph

43018 Commits

Author SHA1 Message Date
Alexandru Croitor
2637a1aee2 pro2cmake: Format again
Change-Id: I3c82e6c13d01203bda8ab28dc5cb2f9fe6a0c4c2
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-26 10:59:06 +00:00
Alexandru Croitor
9061f29872 Provide a way to specify extra tool package dependencies
In the qtwayland repo, both WaylandClient and WaylandCompositor
packages need access to the qtwaylandscanner tool. That means
that the add_qt_tool(qtwaylandscanner) can't use the TOOLS_TARGET
argument to associate a dependency with only one of the above
modules.

Instead add_qt_tool now allows specifying a non-existent module
name for the TOOLS_TARGET argument, which can be manually
depended on by other packages.
Actually, you could specify the non-existent module before as
well, but that didn't do everything that had to be done.

This required a bit of refactoring in how the Dependencies file
for Tools packages is created. Now the file is created in
qt_export_tools.

Two new functions were also added to allow recording additional
dependencies between packages.

Also some bug fixes were done to make it all work. Specifically
the _FOUND variable generated in the Dependencies file was incorrect.
Also there are some quotes missing when appending extra package
dependencies via the QT_EXTRA_PACKAGE_DEPENDENCIES property.

Change-Id: I167efec16dff8d036e191df3572ea72764e22bc5
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-26 10:58:56 +00:00
Leander Beernaert
1c655fb0fc Post merge fixes
Change-Id: I78d3c9687f99c0a32da04257e297e88ef0b02581
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-25 14:53:27 +00:00
The Qt Project
bc1cae774a Merge "Merge remote-tracking branch 'origin/dev' into wip/cmake" into wip/cmake 2019-11-25 14:49:13 +00:00
Alexandru Croitor
8d35ad8726 Add FindWrapHarfbuzz
Apparently we didn't have a wrap find module for it before. Add one,
and add special support to handle a Gentoo broken Config file which is
exported by an autotools build of harbuzz.

Change-Id: I83cbeb817caf2610104c16713d4eac6ab6f8c63b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-25 11:58:02 +00:00
Leander Beernaert
96d6e2276d Add support for DYNAMIC_QMLDIR to pro2cmake
Change-Id: I95575dc352343ec86a6f7cacd7b49521262a9a7a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-25 09:35:17 +00:00
Leander Beernaert
2dcab2b9e0 Fix formatting in helper.py
Change-Id: I8ee2abd27064bfc5bf3f291c2743570d11227fcf
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-25 08:39:28 +00:00
Simon Hausmann
4ff9d6d523 Fix pro2cmake formatting
... by running make format.

Change-Id: I523a48abd2c483107f5c16c24daa695fcc0a55e5
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-23 07:07:45 +00:00
Mårten Nordheim
a640db0180 Add parts needed for QtQuick3D
There is a patch in progress to add mappings for Qt3D, so reuse the old
broken Qt3D mappings, delete the duplicates.

QtOpenGLExtensions is needed, so this patch includes it.

Change-Id: I27896ee88b9e6873c8cd52d86afc330e309e1e14
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-22 18:03:20 +00:00
Cristian Adam
974536c4aa CMake: Do feature testing for linker flags
Instead of hardcoding which platforms and which compilers support
certain linker features, do the proper probing via
check_cxx_source_compiles.

Change-Id: I676010970d8f3a8f2a8340c5d15dfcef76fe9191
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-22 17:08:02 +00:00
Cristian Adam
f4efaf54d5 CMake: Add support for building with Clang-MinGW toolchain
Clang doesn't have a mkspec just a win32-clang, there is
win32-clang-g++ and win32-clang-msvc.

Change-Id: Iff521e955559dfb2308e377b41e86b3f62c42e70
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-22 17:06:18 +00:00
Jean-Michaël Celerier
1962a86b20 Fix an incorrect regex range
Change-Id: I1b8b72cb4adcd872a3e4c245e58d4e302bf00c86
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-22 12:55:10 +00:00
Leander Beernaert
26e8769124 Merge remote-tracking branch 'origin/dev' into wip/cmake
Change-Id: Ifecc2d9db396d783124df8567553ba5f846f30bb
2019-11-19 13:53:21 +01:00
Alexandru Croitor
1fd21c47d0 Fix warnings when a module's plugin type has underscores
In qtwayland, there were a bunch of warnings of the following type
when configuring:

"The plug-in 'f' does not belong to any Qt module".

This happened because the plugin type had underscores, and was not
sanitized when comparing a the plugin type of plugin.

Add a function to do the sanitization, and use it everywhere.

Change-Id: I728b5f1e18fa5f8876c4a57dbd4e33148cb242d5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-15 18:02:12 +00:00
Alexandru Croitor
dfc583005b Fix add_cmake_library to use a correct plugin suffix on macOS
Qt plugins on macOS use .dylib, whereas CMake created used
".so" instead.

Change-Id: I3ea73a52a0675a0cfce4997ca413df79e63cfaa7
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-15 12:25:22 +00:00
Leander Beernaert
7a6c6da2eb Add more special condition conversions
Handle conversions for QT_NO_CURSOR, QT_NO_TRANSLATION and
qtConfig(opengles.).

Change-Id: Idd930f77e78f235b7997a5083ac7faf630ed9801
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-14 10:36:37 +00:00
Alexandru Croitor
ad98624f74 pro2cmake: Adjust script to generate new CMake API calls
The script can now generate both old style CMake API calls
(add_qt_module), as well as new style (qt_add_module).

The first case is considered api version 1, and the second case
is version 2.

You can force which api version to use for generation using
the --api-version command line argument.

This is useful when you want to regenerate an old project
(one that hasn't switched to new style), to keep the diffs
easier to read.

When no parameter is specified, the script will auto-detect
which api version is used in the existing CMakeLists.txt file
(if it exists), and keep using that, until someone force regenerates
the project with a new api version.

Change-Id: I41e4e6ed5db94ef7220c09b46fc5f12e6613e5d2
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-14 10:22:01 +00:00
Alexandru Croitor
e9a58ba9e5 Regenerate src/*
Change-Id: I0314b4faa1e4860e86198eea4189987e527dfec2
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-14 09:05:48 +00:00
Alexandru Croitor
38354d7d61 Rename / prefix all our private API functions with qt_
Rename internal APIs like extend_target to qt_extend_target.
Prefix apis with qt_ where required.

Keep old names for compatibility until all their usages are removed.

Change-Id: I9a13515a01857257a4c5be3a89253749d46a4f41
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-14 09:05:33 +00:00
Alexandru Croitor
0956e2d990 pro2cmake: Allow limiting the number of projects to convert
Change-Id: I7c06d530cb98cc07e4a618427a7cf7b5c70aa171
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-14 09:04:41 +00:00
Leander Beernaert
47428dfa55 Convert all of tests/manual
Fixes: QTBUG-78164
Change-Id: I28b59bf84533fc33fafafd1511b5337d36af0e2b
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-14 09:03:26 +00:00
Alexandru Croitor
9e6456a49d Fix not to add warnings_are_errors property to INTERFACE targets
Amends f000685612

Change-Id: I3b61b64bb9c755de38f4a5ffcb07b39b38bd4fd7
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-11-13 16:17:23 +00:00
Alexandru Croitor
ab3bbc9d74 pro2cmake: Fix generic_version_handler not to be greedy
Otherwise in a condition with multiple comparisons, the regexp would
match too many characters, and not extract the correct variable
name. And to be extra safe, match until a comma is encountered.

Change-Id: I29d8344287efca5c5b232006f6bbdf39e6e4ee67
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 14:22:09 +00:00
Leander Beernaert
0ca41ee2aa Fix build for tests/benchmarks/corelib/kernel/qtimer_vs_qmetaobject
Change-Id: I9c793e38b89cc00c8835bdcf85e9ab0b714da1c8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-13 14:01:38 +00:00
Leander Beernaert
bac999f38c Fix two manual tests qmake project files
Fixes incorrect target name for styles test.

Explicit reference of widgets and opengl libraries in dialog.pri. While
not necessary for qmake it makes our lives easier when running the
CMake conversion script.

Change-Id: I036cae9d801c80c5817421b8427fc5c91e2f7883
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-13 15:00:58 +01:00
Leander Beernaert
15b78b3b54 Update version checks in tests/manual
Remove unnecessary version in tests/manual since they are always true in
the CMake port where it's impossible to have a QtVersion less than 6.0.

Change-Id: I26a13117a8c2e032a9cc70ca0f040122cbf79886
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-13 15:00:51 +01:00
Alexandru Croitor
5c28fce38e Regenerate qtbase tests and src/* for some small fixes
Change-Id: I049829492971875a5c5ff159104707d9e2ad1e46
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 13:36:09 +00:00
Alexandru Croitor
71c43b035b Regenerate tests/auto/testlib
Change-Id: If1b2e105836b73b1a68ed5a8e11feb8e114d66e2
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 13:36:00 +00:00
Alexandru Croitor
3919ed58ab Allow passing args from run_pro2cmake to pro2cmake
Change-Id: Ic874d4cd3488903ffec438f5c127b589e6371f7a
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 13:35:50 +00:00
Alexandru Croitor
c219aaf4d1 pro2cmake: Reformat code with black
Change-Id: I699031d4a05dad84a0807039dcdba17fd5acf2e3
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-11-13 13:35:40 +00:00
Frederik Gladhorn
36fcfd962d Remove redundant overloads in QString
These were added since we couldn't add default parameters in the Qt 5 lifetime.

Change-Id: Idf04df78cc7f56c6c1dc1fe6c07e30003350ed0d
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Vitaly Fanaskov <vitaly.fanaskov@qt.io>
2019-11-13 13:38:39 +01:00
Alexandru Croitor
2679ae3719 pro2cmake: If CONFIG-=app_bundle consider this a non gui app
Change-Id: I45804af3c43cf1af8b00ac3542e045fe697bf1b6
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 12:34:28 +00:00
Alexandru Croitor
0d43af1281 Regenerate tests/auto/sql
Change-Id: If411b1e7c3a7cb58922e5a48309f42ba29f2c068
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:12:32 +00:00
Alexandru Croitor
47ce9e5a78 Regenerate tests/auto/printsupport
Change-Id: I517adae77f7a5851b07fa660732318c175570fb9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:12:23 +00:00
Alexandru Croitor
6d29435568 Regenerate tests/auto/other
Change-Id: Ib1753d1869f5af1900fbeaf2e95d3160cf979ca8
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:12:04 +00:00
Alexandru Croitor
36abcc7cbe Regenerate tests/auto/opengl
Change-Id: I9bd417ae02db1b6827e09baab301152f3614da80
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:11:48 +00:00
Alexandru Croitor
8305b6fe3f Regenerate tests/auto/dbus
Change-Id: I105eb73065e02a4fa508d17f481047b32875f128
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:11:39 +00:00
Alexandru Croitor
0650bafa59 Regenerate tests/auto/concurrent
Change-Id: I6a291f7dd70f78c5cafb6d96a1c0d57ed7223c8b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:07:59 +00:00
Alexandru Croitor
0d62567f0b Regenerate tests/auto/network/ssl
Change-Id: Ib05f4e3c8dea934ce48776fdd50305f7c98c1adb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:07:48 +00:00
Alexandru Croitor
164d8c35b3 Regenerate tests/auto/network/socket
Change-Id: I653f7f4a6e3421f56f873cfbec4309eca49f1756
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:07:36 +00:00
Alexandru Croitor
ee5db96ef7 Regenerate tests/auto/network/bearer
Change-Id: I57526fa99376708203fb1723f3b85243925a1273
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:07:24 +00:00
Alexandru Croitor
5acc32361e Regenerate tests/auto/network/access
Change-Id: I18839ef583336fa2fa42cb4325fdb007675df213
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:07:12 +00:00
Alexandru Croitor
dec6b7cb9e Regenerate tests/auto/network/kernel
Change-Id: I770fce0f0a369204178ea0dfa7bbd8b210dd3585
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:07:02 +00:00
Alexandru Croitor
3909923958 Regenerate tests/auto/widgets/util
Change-Id: Icda122f04c8857f237e822d3981befb78885309b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:06:52 +00:00
Alexandru Croitor
af72e13636 Regenerate tests/auto/widgets/graphicsview
Change-Id: I2e6a8f2f92e9cb8d6bb0be53068dfd43ba87db4c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:06:43 +00:00
Alexandru Croitor
3f5adb4653 Regenerate tests/auto/widgets/itemviews
Change-Id: Ia95c89cde7faf5d3edb69cc8969bda2becd7b51d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:06:34 +00:00
Alexandru Croitor
5c549fba30 Regenerate tests/auto/widgets/styles
Change-Id: I8c9a63d0ac33465db832f01e1dd84abbea66fb30
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:06:25 +00:00
Alexandru Croitor
a678d9fb62 Regenerate tests/auto/widgets/kernel
Change-Id: Ib611ea32623e44c58432a15c73626aab36ab2b98
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:06:16 +00:00
Alexandru Croitor
02278007cb Regenerate tests/auto/widgets/effects
Change-Id: Ib31f764202635198b5cdf236ba19982bb3b18cbb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:06:06 +00:00
Alexandru Croitor
8801d499d0 Regenerate tests/auto/widgets/dialogs
Change-Id: Ief296935d274bfaa217442890927593f0875271a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-11-13 10:05:56 +00:00