Commit Graph

37974 Commits

Author SHA1 Message Date
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
Albert Astals Cid
d6aed4b3d0 cmake: enable the compose plugin
Change-Id: I0201b37531f7ba7380b2ca2f221283dda9a601a0
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-11 17:17:41 +00:00
Albert Astals Cid
dee2413bfc cmake: build the ibus plugin
Change-Id: Ib2846204cc89b538ffe3b2282f7890f3de6ef33d
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 17:17:28 +00:00
Albert Astals Cid
8927c4de70 cmake: enable the xdgdesktopportal plugin
Change-Id: I97454ea918e3b34ca8a33bf221bcf9a0f5fa56f8
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 17:17:00 +00:00
Albert Astals Cid
ac96d08b9d cmake: find gtk3 and build the gtk3 platformtheme
Change-Id: I7db7321a2fd5ea0eda1924f3dece3b1c86d87d10
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-11 17:16:28 +00:00
Tobias Hunger
3726b58d3b CMake: pro2cmake.py: Simplify condition generation
There is no need to try and avoid extra () and NOTs: Those will be
removed by sympy later anyway.

Change-Id: I39d3e4d1d829579e532bfbbf6c69e0f1e06e9a22
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2019-02-11 17:16:20 +00:00
Albert Astals Cid
f18db41f85 cmake: Find tslib and build the tslib plugin if found
Change-Id: I7119ddf473a3ede29bbfef23cffb08a4fcbd5681
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-11 17:16:17 +00:00
Tobias Hunger
93564b3f8b CMake: pro2cmake.py: Treat ANDROID_EMBEDDED as ANDROID
Treat ANDROID_EMBEDDED as ANDROID when simplifying conditions.

Change-Id: I2cf0ea1e1a3e882e3a7b7276867dcee452866ade
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2019-02-11 17:16:08 +00:00
Tobias Hunger
fb33efd274 CMake: pro2cmake.py: Do not go into infinite loop
Do not go into an infinite loop when replacing a variable with itself.

Change-Id: I2765b1c0c567753f26ca75e0533c1d193362b456
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2019-02-11 17:15:58 +00:00
Tobias Hunger
fffc12cc34 CMake: helper.py: Map harfbuzz library
Change-Id: I71daa9acf391c70c6cba99609c1f67ca5eeaa220
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2019-02-11 17:15:47 +00:00
Kevin Funk
2635ab01d2 cmake: QtFeature: Do not error out when using Qt
... outside of qtbase.git

Change-Id: I1895ef07c881766e2b28839d0422916b6916e10e
Reviewed-by: Jean-Michaël Celerier <jean-michael.celerier@kdab.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-11 17:14:01 +00:00
Kevin Funk
c5e2838b64 cmake: Make find_package(Qt5 ...) work properly
Introduce a new cached variable INSTALL_CMAKE_NAMESPACE for defining the
prefix used for CMake config files (c.f. "${PREFIX}Core/${PREFIX}CoreConfig.cmake")

Also make sure to `find_dependency(...)` the required packages inside
the individual CMake config files. I.e. in Qt5WidgetsConfig.cmake,
search for Qt5Core, etc. pp..

Change-Id: Idc027925fe9d5323091c4853803ad5ce44b1afc6
Reviewed-by: Jean-Michaël Celerier <jean-michael.celerier@kdab.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-11 17:13:51 +00:00
Simon Hausmann
c5697c8597 Fix ARM build
Don't try to build the MIPS draw helpers ;)

Change-Id: If569aa41871d7e484e664382d71b8ef2b4025dce
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 17:08:22 +00:00
Simon Hausmann
92087db8f8 Fix build of neon accelerated drawing helpers
We must instruct cmake that we're interested in providing input files
for the assembler directly and the file name needs to be correct, too :)

Change-Id: I7cccb6ac66d28261ee71869991b14ac20c63050e
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 17:08:11 +00:00
Kevin Funk
082a7c4655 cmake: Parse SYNCQT.INJECTIONS
Allows to install headers such as QtCore/qtconfig.h,
QtGui/qvulkanfunctions.h, etc.

Change-Id: I93f384cdc8bbee07fab316d7e232aae1d209f33e
Reviewed-by: Jean-Michaël Celerier <jean-michael.celerier@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-11 16:51:27 +00:00
Liang Qi
08cefb6e63 cmake: build the offscreen platform plugin on macOS
This amends beace29a57.

Change-Id: I38fef70687f36d3b2ab4ff9cd001dc35cc79942d
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-02-11 16:51:10 +00:00
Albert Astals Cid
391ceb1d76 cmake: build libinput plugin
Change-Id: If263e6fa212f5349ad5e75252ff77ce0c92c5b75
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:37:43 +00:00
Albert Astals Cid
a3506fd4df cmake: build the tuiotouch plugin
Change-Id: I3e448fa8c21651a31429a87ee0b209eaea0fe1b1
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:37:05 +00:00
Albert Astals Cid
9dbcbeb1de cmake: enable evdevtablet plugin
Change-Id: Ia2d8c88b4c36c7c6e71a49f42398ebd0378239c1
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:36:57 +00:00
Albert Astals Cid
db8e4077d1 cmake: Enable evdevkeyboard plugin
Change-Id: I74b000ce657dbc0573f97a095391902917fe8f80
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:36:01 +00:00
Albert Astals Cid
3e18790103 cmake: enable evdevtouch plugin
Change-Id: I7c8a7bd6ce79ca6823c0e517ef80c9418b91e552
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:35:51 +00:00
Albert Astals Cid
6f5e8c8e18 cmake: Enable evdevmouse plugin
Change-Id: I5c213a946d6127d635cd76bc827201e379e75aa9
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:35:40 +00:00
Albert Astals Cid
4ac0afb8ba cmake: build the minimalegl platform plugin
Change-Id: I5c509efa30257be6ccc3455dd40bef3882b7e1da
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:35:21 +00:00
Kevin Funk
7830b72fd5 cmake: gui/vulkan: Generate files in correct dir
This is where headers.pri expects them

Change-Id: If518704ae7bfcae3e898a0da61f9b1e6ae6effbb
Reviewed-by: Jean-Michaël Celerier <jean-michael.celerier@kdab.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-11 16:19:23 +00:00
Albert Astals Cid
6a2577e04b cmake: don't die when running on macOS
still same result for me on Linux

Change-Id: Icb74ffc5989c0b96f069f6ec33c2a707e012414b
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:13:58 +00:00
Liang Qi
5ad3803def cmake: fix harfbuzz target
If doesn't build with harfbuzz::harfbuzz, please check
harfbuzz-config.cmake in system. Latest harfbuzz has it.

Change-Id: Idaaa77dc748ba2228b4e67e72a495bed93bc0192
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-02-11 15:18:37 +00:00
Михаил Светкин
6c8fb8aad8 cmake: Fix build widgets on macOS
Change-Id: I9c7b7e1677f665861f8a106244468bdc0e1386f2
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 15:10:22 +00:00
Simon Hausmann
a372783f66 Fix linkage against freetype
Target "XcbQpa" links to target "Freetype::Freetype" but the target was not

There was indeed a find_package(Freetype) missing

Change-Id: I486adbcf3b4ed0ae849a11294e2b83d2dc45d66f
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-02-11 15:00:41 +00:00
Albert Astals Cid
8ee0cb04bd cmake: build glxconvenience
Change-Id: Iad09a86d11565665bb06d8d5d5616fc1b35ad777
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-11 14:02:12 +00:00