Commit Graph

39872 Commits

Author SHA1 Message Date
Tobias Hunger
0434b7fb38 CMake: Regenerate src/plugins/bearer
Change-Id: I6c900247eb03b8afc3f299b5dbca5bac64527a52
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:46:11 +00:00
Tobias Hunger
9ffcc76188 CMake: Scripts: Fix double entries in 3rd party library mapping
Change-Id: I35f29876874d6083d19382800d194e417d57bca1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:29:20 +00:00
Tobias Hunger
aba911c4d0 CMake: Regenerate src/platformsupport/kmsconvenience
Change-Id: I2608275ca7cd5315e7ffdffbb25f78e98fbf9bc3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:29:11 +00:00
Tobias Hunger
d1a0af9b0c CMake: Regenerate src/platformsupport/platformcompositor
Change-Id: I435fb110ad59eb197401c6d8090c697ceb4cf687
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:28:45 +00:00
Tobias Hunger
1e5c90e6e2 CMake: Regenerate src/plugins
Change-Id: I64f920e909de7c612e3ab18b8aa31b98e0e1acfd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:27:43 +00:00
Tobias Hunger
b15776c76f CMake: Regenerate platformsupport/windowsuiautomation
Change-Id: I17c927cf7eb8c66ee941a2d91c918e105474da29
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:27:34 +00:00
Tobias Hunger
cbaa8ee27d CMake: Regenerate platformsupport/vkconvenience
This does not link to vulkan, just as it did before. Feels wrong...

Change-Id: I7e76e03e95ed33421de684f51c9943a84dde7779
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:27:24 +00:00
Tobias Hunger
ef170a12d8 CMake: Regenerate platformsupport/themes
Change-Id: Ica4b4c3f2a5f86476f179a01aea5eeb25e617a98
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:27:08 +00:00
Tobias Hunger
9b7f5776ee CMake: Regenerate platformsupport/services
Change-Id: I73444aeef2e37ebb2f90e8bae3e6932989bad5f0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:26:58 +00:00
Tobias Hunger
3d452d7c3b CMake: Regenerate platformsupport/linuxaccessibility
Use ATSPI with nolink!

Change-Id: I334fa93364109ca04b4312d12ddcea34d9e9a103
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:26:49 +00:00
Tobias Hunger
5d374083b7 CMake: Regenerate platformsupport/graphics
Change-Id: Ifff85f70de092ade438430d71d9a149f49363c14
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:24:51 +00:00
Tobias Hunger
775e595642 CMake: Regenerate platformsupport/fontdatabases
This one does actually contain functionality changes, but those look OK to me.

Change-Id: I5fd2caee16da86c529e1c83ca66452f780e54e26
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:24:42 +00:00
Tobias Hunger
f8d3b60fb1 CMake: Regenerate platformsupport/fbconvenience
Change-Id: Ic838debdca48553252cb4c32ec8a42695ba24b46
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:24:28 +00:00
Tobias Hunger
a7fc360b22 CMake: Regenerate platformsupport/eventdispatchers
Change-Id: Ie9cbee3fcb58673c08e8378382dd45e61fc4ff01
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:24:19 +00:00
Tobias Hunger
46b1676804 CMake: Regenerate src/platformsupport/edid
Change-Id: Id567354daa47c0be07211ebf01f92cd01be9a5c7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:24:06 +00:00
Tobias Hunger
c29fe1fae2 CMake: Regenerate src/platformsupport/devicediscovery
Change-Id: Ia306a7197c10fffb520e90eead449c551f0dfbe8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:23:55 +00:00
Tobias Hunger
65c5ffdb1d CMake: Regenerate src/platformsupport/clipboard
Change-Id: I6e61274a2f5796a6b4ddcbbdf03c345a03e4b91a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:23:44 +00:00
Tobias Hunger
f02a9c81ad CMake: Regenerate src/platformsupport/accessibility
Change-Id: Ie250afa3b4dc6c5750dd3cd15c1e83edcb7e0734
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:23:33 +00:00
Tobias Hunger
59e32c4e23 CMake: Regenerate src/platformsupport
Change-Id: I883573633dbd82ebcca9cc0dc435cd867cec24b8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:23:19 +00:00
Tobias Hunger
e438747eb1 CMake: Regenerate src/concurrent
Change-Id: I888f0a3821c091180928949bd52ea70a1be69d3f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:23:08 +00:00
Tobias Hunger
da02d17b5e CMake: Regenerate src/platfomheaders
Change-Id: I82d94c0f53bf3291cd26188ab6afd78493f2b92c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:22:57 +00:00
Tobias Hunger
1c310adb17 CMake: Regenerate src/opengl
Change-Id: I6a140b18f12cb048e2b113fb1cef38e224cc8417
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:22:47 +00:00
Tobias Hunger
42648ff993 CMake: Regenerate src/dbus
Change-Id: Iff9890ead883bac5f75425a2d0367e639d648399
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:22:36 +00:00
Tobias Hunger
059f4ade7f CMake: pro2cmake.py: Fix library mapping
Fix library substitution again which broke when I merged all the
library related pieces of information.

Keep Qt and 3rdparty libraries separate so that dbus does not get
mapped into Qt::DBus (or the other way around).

Make names in helper.py more consistent while at it.

Change-Id: I5e5bf02bdabf8bafe991c5701deca76bde4df2c3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:20:50 +00:00
Alexandru Croitor
f26a156dd3 Fix special cases in network
Change-Id: I66cc33afe3bfdf4e86dfeb0b341770355f59c0da
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-05-06 10:49:00 +00:00
Alexandru Croitor
380f1eb92f Fix special cases in widgets
Change-Id: I026a321a916885ccd93361da91bc3ce6fb6f6ad1
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-05-06 10:48:38 +00:00
Cristian Adam
1a92808a78 Add support for MinGW
Tested with MinGW 7.3.0 64 from Qt 5.12 installation.
The CMake 3rd party libraries I used from hunter project (with some
package, and target names changes)

Change-Id: Ie89555a6cd8bdb7182f9b2dd2c3c39784c523ead
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-04 20:56:17 +00:00
Alexandru Croitor
6b2de61bf9 Make zlib a required package for QtCore
Change-Id: Ifbb969fafe05e355d6874d8bebe2e8f1e80510ff
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-05-03 14:16:23 +00:00
Alexandru Croitor
a907d7df34 Handle generating find_dependency() calls for nolink targets
Previously we just recorded that Gui has to link against
Vulkan::Vulkan_nolink, but if an application consumed Gui, it wouldn't
find that target.

We need to record that if a module links against Vulkan_nolink, and
then generate a find_dependency(Vulkan) call in the module config
file.

We also have to assign the _nolink interface library to an export
(the Qt5 one), so that it gets installed as a target.

Change-Id: Icbc29ff4161ab18fdd162196ae128e29c1ee8c80
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 13:51:13 +00:00
Kevin Funk
aef11e420d cmake: Generate config files with Qt:: prefix
Generate CMake config files which export Qt targets with a Qt:: prefix
(i.e. without a major version suffix in the namespace)

Change-Id: Ia07f98be6d0e24c196e3880b7469f1f0c6232c06
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 13:51:02 +00:00
Kevin Funk
f2bb48e635 cmake: Install required CMake templates
Change-Id: I4a56440bee1aa7143971dd8f0b8af6dc042703f3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-05-03 13:50:44 +00:00
Tobias Hunger
7874ce7801 CMake: Improve mapping of libraries
Merge all data related to mapping libraries into one data structure
in helper.py.

Use that data for everything related to library mapping.

This change enables way more features now like e.g. adding find_package
calls into generated files.

Change-Id: Ibbd2a1063cbeb65277582d434a6a672d62fc170b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-05-03 13:42:25 +00:00
Tobias Hunger
9618434de5 CMake: configurejson2cmake: Do not generate useless OPTIONALs
Do not set properties of packages to type OPTIONAL. That is the default
anyway.

Update generator script and generated files.

Change-Id: I7a4d043b69c93ce8c2929a2e27ac6a07e4e6d8cc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-05-03 13:39:48 +00:00
Kevin Funk
d8cdbc4f97 cmake: Make add_qt_executable work
Also needs the include/ from the top-level binary dir added to the
include path.

Change-Id: I7e0d82a2ee24d9bf9ffe9da5fd02b3b223fd48e7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 12:49:37 +00:00
Jean-Michaël Celerier
753d35cd56 cmake: move dependencies accumulation in QtPostProcess.cmake
This is needed because dependencies added after add_qt_module with extend_target
are currently not taken into account.

Task-number: QTBUG-75538
Change-Id: I2c72207fb88b2480e41a2c8550978fb194275617
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 12:42:43 +00:00
Simon Hausmann
914b367c7f Fix finding host tools when cross-compiling
* When using a sysroot, just setting CMAKE_PREFIX_PATH to the
  QT_HOST_PATH is not sufficient in finding for example Qt5CoreTools
  because the QT_HOST_PATH would be prefixed by the sysroot. So this
  patch switches the mode to also enable looking outside of the sysroot.
  (done by Alexandru)

* Once the Qt5CoreToolsConfigVersion.cmake was found, the built-in check
  for 32 vs. 64 bit compatibility by looking at the provided
  CMAKE_SIZEOF_VOID_P (4 when target is armv7 for example) and comparing
  it against the void* size used when building the tools would fail.
  Explicitly unsetting CMAKE_SIZEOF_VOID_P disables this check, and
  that's fine as we're not interested in any exported library targets --
  where this could cause problems -- but merely programs to run.

Change-Id: If2931dad023e39a3dbdaa17ac095131ad2c0ca60
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 12:14:22 +00:00
Simon Hausmann
c2379c469c Fix linking on systems where there's no libGLX.so but mesa provides bindings
Behave like qmake and link against libGL simply. This happened in
offscreen.pro implicitly through QT += gui-private and needs to happen
explicitly here by using the CONFIG += opengl equivalent: WrapOpenGL.

Change-Id: I396c2256c89f4560bb7f936f7540b33c754b9eda
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 08:27:51 +00:00
Albert Astals Cid
64b31cafa1 cmake: Fix xcb_glx build
Use the actual cmake library target name

Change-Id: Icda1d232e3b920bf33ebceb00f39682050f7dedd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 08:13:56 +00:00
Jean-Michaël Celerier
db5f99f451 cmake: make the qt_find_package PROVIDED_TARGETS optional
This is because some FindPackage may produce some targets only on some
platforms - e.g. qt_find_package(OpenGL) needs to define
the provided target OpenGL::GLX which will only exist on linux but
is required by various CMakeLists.txt files.

Change-Id: I74515470f5d56c246f489df74901ad4223a92a70
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 08:11:19 +00:00
Simon Hausmann
d3b10dabf2 Revert "CMake: better GLX detection"
This fixes the build when GLX is available.

In the .pro files as well as the .cpp files the condition of enabling
GLX support is based on the Qt feature system (xlib && opengl &&
!opengles2). The change to replace the !opengles check with a cmake
target check is incomplete for two reasons:

    (1) the target check would _never_ succeed because there was no
    find_package() call in scope that would create the target.

    (2) when the target is found, the .cpp code that checks for the
    features would fail, because that continues to use the !opengles2
    condition -- the preprocessor can't know about cmake targets.

So this reverts commit 1361cf5d50 and
instead calls for an investigation why in Ville's machine desktop gl was
disabled.

Change-Id: I9a7957224f81b800282c260dee8abcd421fdbc9e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-05-03 07:51:41 +00:00
Kevin Funk
ca3a7efffd cmake: Fix typo, variable was renamed earlier
Change-Id: I8fe9da37572efe85b2dff0b223edb1d93e904f34
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 07:36:16 +00:00
Liang Qi
10f477e5bb cmake: add CMakeLists.txt files for xcb/gl_integrations
Change-Id: I34bc3c0ab4b4b686fe57149a3bb69e2d2cafd551
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-02 16:23:59 +00:00
Jean-Michaël Celerier
417e714d90 cmake: Fix Vulkan qt_find_package call
Change-Id: I4494d6d7dc2cd0b5afed5bb9d591b62627cbc49d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-02 16:04:23 +00:00
Alexandru Croitor
b26a52ec48 Update readme to mention how to set feature flags
Change-Id: If63d37af4711c4332129d65b934269c33f041ea4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-05-02 15:49:39 +00:00
Albert Astals Cid
43c2580e5d cmake: remove mirclient TODO
mirclient qpa code was removed in 8c73ddd8e3

Change-Id: I0c0f5228fb750b69a742c9d1d8377b4a4de165ce
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-05-02 15:34:57 +00:00
Simon Hausmann
7ff93f3364 Fix build by re-generating CMakeLists.txt from offscreen.pro
We don't need the _dummy.cpp files in the build anymore that don't exist
anyway.

Change-Id: I70e12dd39009c86779f3863c945e835b76cb24f6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-02 15:29:48 +00:00
Ville Voutilainen
1361cf5d50 CMake: better GLX detection
Change-Id: I71dfbb331cb02a3249b0c3c65f2a9bd9ce68c739
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-05-02 14:56:32 +00:00
Liang Qi
ef3e37b9a3 Update version in cmake to 5.14.0
The dev->wip/cmake merge is done already.

Change-Id: Ia6b17ac633cd2bcd1e9f6e96a0a0bf33042ed63b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-02 13:45:58 +00:00
Liang Qi
67c35ed8fc CMake: add xcb platform plugin
Change-Id: I9b3e8b5e4a2f7799b32738319e6eed912d3261e2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-02 13:29:16 +00:00
Jean-Michaël Celerier
1b36fe53c6 cmake: export locally-built dependencies in static build
Change-Id: Ifbcedd32cef3b9c8b4b8c9ca0d229850f696f406
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-02 11:41:55 +00:00