Commit Graph

128 Commits

Author SHA1 Message Date
Martchus 7792012916 Avoid error with CMake < 3.12 2021-04-06 18:11:21 +02:00
Martchus 4cadb04b44 Apply CMake format 2021-03-20 21:01:24 +01:00
Martchus 5960c21558 Fix finding linguist tools macro when cross compiling with Qt 5
When cross compiling with Qt 5 the QT_HOST_PATH variable might
be set as well but the module might not be installed within the
host path. So let's do the usual lookup first and fallback to
QT_HOST_PATH only if that doesn't work.
2021-01-06 23:44:09 +01:00
Martchus d6ea2ac378 Apply cmake-format and clang-format 2020-12-20 17:56:35 +01:00
Martchus 746615e21e Make loading LinguistTools module work when cross-compiling with Qt 6 2020-12-19 20:58:29 +01:00
Martchus 7183ec501c Disable auto-inclusion of QML plugins
because these seem to pull in unwanted dependencies like PostgreSQL
2020-12-10 19:19:02 +01:00
Martchus 9bc3555c99 Resolve QT_INSTALL_TRANSLATIONS via CMAKE_PREFIX_PATH if it is relative
The variables provided by Qt 6 might just contain a relative path. This
change adds an extra function resolve these via CMAKE_PREFIX_PATH and
CMAKE_FIND_ROOT_PATH.
2020-11-11 18:51:19 +01:00
Martchus d80302d20d Make list of Qt's translations even if not available at build time
We shouldn't require translations to be installed at build time to know for
which repositories translations need to be loaded at runtime.
2020-11-11 18:11:43 +01:00
Martchus d61f32a635 Allow to disable built-in translations for Qt's own translations 2020-11-11 18:08:02 +01:00
Martchus 0a67d7dc15 Avoid hard-coding Qt version 2020-11-07 22:05:54 +01:00
Martchus 0f05beebd8 Cope with CMAKE_FIND_ROOT_PATH containing more than one path
According to the documentation CMAKE_FIND_ROOT_PATH is a list.
2020-11-07 22:02:10 +01:00
Martchus f59c2cb643 Fix detecting QXcbIntegrationPlugin
The variable QT5_Gui_STATIC_PREFIX is no longer used.
2020-11-07 21:58:54 +01:00
Martchus 09ff2d00b1 Replace META_QT5_VERSION with version-agnostic META_QT_VERSION 2020-11-07 21:38:18 +01:00
Martchus deb9b4467f Look for Svg plugins within the Gui module's directory as well
In Qt 5  these plugins were loaded as part of the Svg module (at least with
my patches). With Qt 6 (for which I've dropped my patches) we need to
include the plugin's config file manually.
2020-11-07 21:38:18 +01:00
Martchus 89152bdbe9 Fix passing arguments when configuring Qt plugins 2020-11-03 18:32:35 +01:00
Martchus 75b992bfd1 Don't install translations if built-in anyways 2020-10-30 22:45:56 +01:00
Martchus 4f06492306 Apply cmake-format 2020-10-10 00:50:40 +02:00
Martchus 15c884153a Allow building for Android with latest NDK, Qt 5 and CMake
* Making an Android APK should now generally work with NDK r21.d and
  Qt 5.15.1 and CMake 3.18 although some details might still need tweaking
* It is now supposed to be used within the NDK's toolchain instead of
  CMake's built-in Android support (which makes problems with newer NDK
  versions)
* The old way to lookup/pass variables is preserved so it should still
  work with older Qt versions and CMake's built-in Android support
* Qt's own support for invoking androiddeployqt needed to be disabled
  because it lead to CMake errors (see comment)
2020-10-05 18:37:23 +02:00
Martchus cb3a4960e7 Support Qt 6 (commit 174154b) 2020-09-04 00:44:48 +02:00
Martchus 9b7ad3375c Avoid hard-coding Qt version in function invocations
* Make use of "Version-less CMake targets", see
  https://www.qt.io/blog/versionless-cmake-targets-qt-5.15
* Keep fallbacks for compatibility with Qt < 5.15
* Remove some other occurrences of hard-coded Qt versions
2020-04-27 23:47:08 +02:00
Martchus 54e8ef75cd Fix comments mentioning qtconfig.h
There is a separate Qt-specific header since v6.
2020-03-17 19:56:32 +01:00
Martchus d33cf13923 Apply cmake-format 2020-03-08 13:51:36 +01:00
Martchus 031378e1c5 Fix remaining install dirs to use GNUInstallDirs consistently 2020-02-13 11:43:29 +01:00
Martchus fc76422d01 Use GNUInstallDirs
See https://github.com/Martchus/cpp-utilities/issues/17
2020-02-01 00:01:37 +01:00
Martchus e55ae3686b Require CMake 3.3.0 in all modules 2020-01-10 18:01:27 +01:00
Martchus ca081697df Reformat CMake scripts against cmake-format 0.6.3 2019-12-15 19:27:26 +01:00
Martchus b8d00d27c9 Apply cmake-format v0.6.0 2019-11-30 17:58:56 +01:00
Martchus a635b38e73 Apply CMake format 2019-10-12 19:00:24 +02:00
Martchus dbc5a18801 Allow setting custom app ID and label via CMake args
So one can produce different configurations/versions/flavors of
the app which can be installed at the same time.
2019-08-22 01:05:45 +02:00
Martchus 5f115b4918 Require META_ANDROID_PACKAGE_NAME for making Android APKs 2019-08-22 01:03:53 +02:00
Martchus f1897175e8 Support template substitution for Android files
To achieve this the Android package directory must be copied
over to the binary directory. Files which end with ".in" are
treated as templates.
2019-08-22 01:02:15 +02:00
Martchus ff48e464fa Improve lookup of Qt translations
* Show warning if no translations found but built-in
  translations are enabled
* Don't write empty QStringLiteral to config file
* Simplify CMake code
2019-08-10 00:12:05 +02:00
Martchus 95cc1a5b78 Apply cmake-format 2019-08-07 22:57:31 +02:00
Martchus a40d2974e0 Fix translation lookup if config name is set
In this case the config name must only be appended to the applications
config directory but *not* to the name of the translation file itself.
2019-08-07 22:57:17 +02:00
Martchus d3c9653b9e Add EXCLUDED_FILES variable
When adding source files to the _FILES variables conditionally
those are so far not being formatted or translated. Adding
these files at least to the EXCLUDED_FILES will fix this.

Replaces DOC_ONLY_FILES which served the same purpose but was
limited to documentation.
2019-07-13 14:01:52 +02:00
Martchus 666e16725d Don't add QT_DISABLE_DEPRECATED_BEFORE by default 2019-06-25 14:16:40 +02:00
Martchus ec3d68a635 Apply cmake-format 0.5.1 2019-06-01 12:15:48 +02:00
Martchus 72d0e9e6e0 Adapt search path for translations to new config system 2019-05-05 18:37:24 +02:00
Martchus 2ae98f8ba4 Prevent using deprecated Qt features 2019-05-04 22:16:46 +02:00
Martchus d8333f3793 Apply cmake-format 2019-05-04 21:01:06 +02:00
Martchus 850101dce6 Support installing multiple configurations within the same prefix 2019-05-03 01:03:41 +02:00
Martchus 76f70abdf8 Polish CMake modules 2019-04-22 22:27:00 +02:00
Martchus c707591128 Don't mix building static and shared libraries 2019-04-21 16:44:54 +02:00
Martchus 9e51708da1 Add detection of ANDROID_APK_TOOLCHAIN_VERSION for 32-bit ARM 2019-03-03 21:43:41 +01:00
Martchus 8741195cfe Remove libdir before invoking androiddeployqt
Otherwise it might fail to remove that directory on
its own. (Likely after some subdirectory has accidently
been added.)
2019-02-23 13:51:00 +01:00
Martchus 9dd033996a Fix bundling unnecessary files into APK
So not the entire share folder is bundles. And QML
paths are also not required here (although they contain
come plugin SO files).

There are still unnecessary plugins bundles, though.
2019-02-23 13:48:20 +01:00
Martchus 190e58fe67 Apply cmake-format 2019-02-06 17:32:10 +01:00
Martchus 72d642c892 Allow to specify variables for making APK
So when those variables can not be detected they can at least
be specified manually as command line arguments.
2019-02-03 23:53:22 +01:00
Martchus c24d5c5949 Ensure libs from current build get bundled into APK 2018-12-22 02:11:08 +01:00
Martchus 4ab91f33c0 Add --verbose option to androiddeployqt 2018-12-22 02:10:11 +01:00