Commit Graph

37852 Commits

Author SHA1 Message Date
Albert Astals Cid
697f358466 cmake: add deviceintegration/CMakeLists.txt
Change-Id: I2b30c27bb4f17f40143a66e89b3d5986375a76a6
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-18 08:06:36 +00:00
Albert Astals Cid
dc0870db74 pro2cmake: Target dependencies can be on -private libs
so use map_qt_library instead of map_qt_base_library

Change-Id: I4dd0097fff3ffd9ec4aad36d11d79ea23a08cb90
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-18 08:05:49 +00:00
Albert Astals Cid
a9d3baa9f4 cmake: Add the eglfs platform plugin
Change-Id: I1caef781db690a3c25e871947c11175cde5cc97b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-15 15:08:29 +00:00
Albert Astals Cid
db9cb61993 cmake: helper.py more mappings
Change-Id: I69a1715bbda8f5ddfb367e7c7c693e4ec412f5c3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-15 15:08:12 +00:00
Kevin Funk
d37fd195a2 cmake: Compile qobject.cpp with same flags as Core
Makes sure qobject.cpp.o also sees -DQT_BUILD_CORE_LIB

Change-Id: I2aaf1cec62eeab07bbec6e4135bbe144d4ae7fba
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-15 09:31:33 +00:00
Liang Qi
2bdb808929 cmake: printsupport depends on core, gui and widgets
Change-Id: Ifd1f8c23eca3daa788f814b450ad326f6415212f
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-02-14 11:16:18 +00:00
Kevin Funk
cf7426e8c9 cmake: Make sure to finddeps of private target
Public interface libraries of the private target need to be first looked
up via `find_dependency(...)` in the CMake config files as well.

This patch is just changing the foreach() loop and defer the package
config file generation.

Change-Id: Iecaf7f778379b526f12ac6a42e76d714d9349b2c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-14 07:39:21 +00:00
Kevin Funk
0896e203d6 cmake: Make sure QT_SYNCQT is persisted
Lifetime of the variable is bound to the function body. Use a CACHE
variable to escape it (and to speed up future calls to the function).

Change-Id: I2d164a1c94e64cc652e65c1eea0522f3d911ad82
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-14 07:38:50 +00:00
Kevin Funk
b2337e1d00 cmake: Make sure QtModuleConfig.cmake.in is found
... when QtBuild.cmake is being included from another Qt module

Change-Id: Ia55e03422cc84a56dd9eac640621e5b2ee9681bd
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-14 07:38:47 +00:00
Kevin Funk
766701a9b2 cmake: Install all necessary .cmake files
... for other modules

Change-Id: Iea184036a46816e524de247e1d650ae417de294c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-14 07:38:45 +00:00
Kevin Funk
e1a750a102 cmake: Minor fix in QtModuleConfig.cmake.in
Change-Id: Ia01e935582b5291fa8ed6bf46866fbb74d41f4b0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-14 07:38:40 +00:00
Kevin Funk
f0d6fd6b95 cmake: Also use -Wl,--no-undefined for Clang
Change-Id: Ida6bf41e496a0e800f1146d15edf192d0635a3c9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-13 11:48:02 +00:00
Kevin Funk
35a17f1941 cmake: src/printsupport: Rerun conversion script
Change-Id: I0bdc4eefa5e1e78ba7f68da5848e32297c6af5a1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-13 11:46:44 +00:00
Kevin Funk
4c51273f1f cmake: Build qmake using CMake
Change-Id: Ia2ad09774252154d19d7c80abfcd72ecd09025ae
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-13 11:16:28 +00:00
Simon Hausmann
cdab00c7ee Replace "our" FindEGL.cmake with the ECM version
The ECM version now also does a compile test, which was the only real
"functional" difference.

Change-Id: I1d5cd590359feba7c7a38ff374992349d5943070
Reviewed-by: Volker Krause <volker.krause@kdab.com>
2019-02-13 09:40:50 +00:00
Simon Hausmann
96c0dc07a7 Use rpath by default not only for building but also installed binaries
This makes it possible to use the binaries out of the box. This is
particularly relevant for program binaries that link against QtCore
dynamically, when trying to use these binaries during cross-compilation.

Change-Id: I7dee93194be3fff5c6e3bbb9e202e4cf5e19b6d0
Reviewed-by: Volker Krause <volker.krause@kdab.com>
2019-02-13 08:59:49 +00:00
Albert Astals Cid
d523a642dc cmake: enable vnc platform plugin
Change-Id: I5015681aff3c9ceb5c0b72571bc8756f3ada104c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 17:02:02 +00:00
Albert Astals Cid
9a01b4312b cmake: set WrapOpenGL_FOUND to ON
Otherwise the cmake summary at the end says
-- The following packages have not been found:

 * WrapOpenGL

It's OpenGL or GLESv2 that will show there as missing if needed

Change-Id: I182f1299b86e1a4e24762d0bad6533c6136cbbcc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 17:01:36 +00:00
Albert Astals Cid
6235fd68d5 cmake: FindWrapOpenGL->WrapOpenGL
Change-Id: Ic44d3ee806cf287a2c3cb36811b99418ea92d8a0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 17:01:02 +00:00
Volker Krause
cc8e2c4572 Use CMakePushCheckState
Change-Id: I58d779674363a7f7db4a7ea4ca4a9f4a9e271798
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 16:02:58 +00:00
Simon Hausmann
1f96506748 Fix build without Vulkan
The syncqt generated headers are optional, i.e. their source may not
exist -- so for now make their installation optional (as it seems to
have been the case with qmake).

Change-Id: Ieaeb3d13a1d8ff1f158b5b1c918750fec48d3bef
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2019-02-12 15:33:06 +00:00
Simon Hausmann
519ef817ff Fix Desktop GL/EGL/GLESv2 linkage
This change fixes a few things in one go:

  * cmake's FindOpenGL cannot be used reliably to detect EGL. So use a
    custom module for that.
  * Added a custom module for GLESv2 detection, as cmake's FindOpenGL
    does not support that.
  * Map CONFIG += opengl to a WrapOpenGL target, which links against
    either GLESv2 or libGL - just like mkspecs/features/*/opengl.prf
  * cmake's FindOpenGL remains in use solely to detect the availability
    of desktop gl.

Change-Id: I9315e5ad1fd88e1b7dc7e920053e98fb51fea7fc
Reviewed-by: Volker Krause <volker.krause@kdab.com>
2019-02-12 14:57:30 +00:00
Albert Astals Cid
6424e70bbe cmake: compile the networkmanager bearer plugin
Change-Id: Ia744afec6114266fcb693702db257fe36ba94b92
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-12 14:40:34 +00:00
Liang Qi
863cea981b cmake: add localserver in network
Change-Id: I319ffad73bb5f8285b1b2fa583d813667498c3dd
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-02-12 14:40:30 +00:00
Albert Astals Cid
8fdebd5e37 cmake: build the connman bearer plugin
Change-Id: I034ac995e231e7ad380ca9680e72037a573a1003
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-12 14:40:25 +00:00
Albert Astals Cid
1126485a57 cmake: Build the generic bearer plugin
Change-Id: I3ab356e23e22499be98a626d043e2cfb9fc51105
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-12 14:40:07 +00:00
Albert Astals Cid
0a14d13b30 cmake: Find and build odbc plugin
Change-Id: I479d2b1cc897f601ef68b10272c9396e52228201
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-12 14:39:50 +00:00
Albert Astals Cid
11acba6504 cmake: Find and build psql plugin
Change-Id: I8cbc8ab0061f67824d78198cbb926f0625fc7e41
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-12 14:39:33 +00:00
Liang Qi
f94fdb3537 cmake: add TODOs in plugins/platforms for future
Change-Id: I472b87cdd4f87633df7867c161ab861fba519bd3
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-02-12 14:35:51 +00:00
Kevin Funk
43ff1b568a cmake: Fix more old-style CMake macros
Use the proper target name for the Qt tools

Change-Id: I04b3aed7b58d44e60597223340d66ac97ea083cb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 14:20:32 +00:00
Liang Qi
73a3a96c7b cmake: update README.md
Added info for using homebrew on macOS.

Change-Id: Ie425793d3de1e72a9342f6c2aaf67a4f85592f3a
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2019-02-12 14:05:11 +00:00
Albert Astals Cid
9bef044a0b cmake: Search and enable the sqlite[3] plugin
Added to QtFeature.cmake a way to be able to run feature_module begin
and end without having an actual module by passing NO_MODULE

Change-Id: Ib708bd3878e2591da193d18563c8932cc4b75e7f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 14:02:22 +00:00
Simon Hausmann
0867dbf2f4 Fix finding syncqt when "cross compiling"
This is not quite the correct design yet, but makes the existing
mechanism work first.

Change-Id: Idbc6f1380adc955a772eb6e5beb6b3a5f7f686bb
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2019-02-12 14:02:03 +00:00
Simon Hausmann
f1b688bc7c Fix qt_config_compile_test when cross-compiling
When we do

    qt_config_compile_test(egl_x11
        LABEL "EGL on X11"
        LIBRARIES X11::X11
        ...
    )

then check_cxx_source_compiles() aborts if the provided targets do not
exist (we map LIBRARIES to CMAKE_REQUIRED_LIBRARIES). However we just
want the test to fail. Therefore this patch verifies the presence of the
targets.

Change-Id: Ibd7c1b50d585339af0ca0de58bc5c9cd64d65d6d
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2019-02-12 14:01:26 +00:00
Kevin Funk
988162eaf8 cmake: Start to use ConfigExtra.cmake files
Enables the use of e.g. QT_NO_DEBUG in compiler flags, -fPIC, passing on of
QT_NAMESPACE, etc. pp.

Dropping a lot of custom code which handled adding imported targets for
the command-line tools (this is all being handled by CMake already).

It needs to be investigated if we need to resurrect
Qt5GuiConfigExtras.cmake.in in one way or the other.

Change-Id: I4fa141b68fddaad4f33e628c59d5d0b3a7b3a096
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 13:37:08 +00:00
Albert Astals Cid
05aeaed906 Find mtdev and use it
Change-Id: I90db48efaa6a23add770fcf69b46c4f4c84866c1
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-12 13:35:07 +00:00
Jean-Michaël Celerier
bb2ae3e409 cmake: replace unused macro with a proper value
Change-Id: Icc2b5a63fc503aa99bbb0c8ee9ffddc985e0e3da
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 11:28:08 +00:00
Albert Astals Cid
92f81ebc21 configurejson2cmake.py: openssl -> OpenSSL mapping
Change-Id: I29480dfbd4f144e3d5620b43419ec46fb866cf4b
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-12 11:22:53 +00:00
Kevin Funk
4bfd6c010b cmake: Create Qt5 compat targets in config files
For now create targets a la "Qt5::Core" to stay compatible with the
current Qt5 naming scheme. The name is controllable via a CMake option.

Change-Id: If43c058221949b1900c2093f39ccc9d0f38028f1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 11:09:03 +00:00
Kevin Funk
61b5a32df3 cmake: Use consistent naming scheme for Bootstrap
Required for a future patch

Change-Id: I63f85e8fb41ae7c76cb39cce00e63d4cc77aef9d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 11:08:47 +00:00
Kevin Funk
b3560a66ae cmake: Set up VERSION/SOVERSION properly
Change-Id: Ic8cddf5ec8182873a6b1e03c76f514284b423322
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 11:08:28 +00:00
Kai Koehne
7b434c0287 CMake: Fix build of system jpeg is not available
Change-Id: Ie7462db556d0615e74755fa4fc3b51f625aade2f
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-12 09:47:23 +00:00
Albert Astals Cid
443ee65d3b configurejson2cmake.py: Don't emit a fixme for C++11 config
Change-Id: I8408f6126115a0f76b0fed2cc42b54e5c148821d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 09:25:01 +00:00
Albert Astals Cid
cfba14e1e9 configurejson2cmake.py: Support for the two cases that have LIBS +=
Since there's only two i hardcoded it for the moment instead of trying
to parse the line

Change-Id: I0da578af64ef9621cbbc78bf6ce15bf8a3f63f1c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 09:24:31 +00:00
Albert Astals Cid
2e64ac90d8 cmake: also write FIXME on the configure.cmake for 'use'
Since most of the times it means we need to link with some other stuff

Change-Id: I06262d4403225bca7a5e68d47145fefcf6702e5a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 09:22:02 +00:00
Albert Astals Cid
f6a830095f cmake: blacklist xlib test, we can just use X11_FOUND
Change-Id: Ic733c42e11b00fa8bf107f460a0596aeb10ac37b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 09:21:46 +00:00
Albert Astals Cid
3882e9ea09 cmake: Find Cups and enable its plugin
Change-Id: I44bf176587331d86eb147d106f28deb0a6618ab4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 09:20:20 +00:00
Albert Astals Cid
71c9db7da8 cmake: Blacklist the libinput_axis_api test
We already have a cmake find module for libinput so we know it is there

Change-Id: I153544c5c13cb57b1ce258243ede17f4be9507fd
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-12 08:49:55 +00:00
Albert Astals Cid
8d05d88ab9 cmake: imageformats plugin needs an if guard
And add TODO for all the other missing plugins

Change-Id: Ic1d3cb7398198aea37ccb4ed6c16fc64e454036a
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-12 08:49:36 +00:00
Kevin Funk
f9b78445a9 cmake: Fixup paths to qvulkan* files
Change-Id: Ifbd28e696c3cf64e008fa4617750b79f37ff1f8c
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-02-11 22:02:23 +00:00