Qt 6.8.3 with BlackBerry 10 (QNX 8 / ARMv7) patches
 
 
 
 
 
 
Go to file
Alexandru Croitor 6abaff810a CMake: Collect IMPORTED library dependencies for android deployment
Previously _qt_internal_collect_apk_dependencies() only collected
targets that were built by the current project and informed
androiddeployqt their directory paths for deployment consideration.

The libraries would be bundled into the apk based on whether
the application links to any of those libraries directly,
e.g. via target_link_libraries.

CMake 3.21 added a new feature that allows us to query all IMPORTED
targets in a directory scope. Using this information we can now tell
androiddeployqt about these libraries as well, of course only when a
new enough CMake version is used. Introduce
_qt_internal_collect_apk_imported_dependencies_defer to do that.

In contrast to _qt_internal_collect_apk_dependencies(), the IMPORTED
libraries are collected by recursively looking at a target's directory
scope and its parent directories, rather than child subdirectories.
Also, the collection / deferral is done when the target's directory
scope has finished processing, rather than when the root project
has finished processing.
Why? IMPORTED libraries are usually non-global, which means we can't
refer to them in parent scopes using functions like
get_target_property, the targets don't exist in those scopes.

Note that the code only covers IMPORTED target libraries. It
does not cover INTERFACE libraries, plain library names or
file paths specified in target_link_libraries.
It also doesn't account for loadable libraries (dlopen()ed ones).
In such cases, projects still need to manually specify the library
paths in the executable's QT_ANDROID_EXTRA_LIBS target property.

To prevent the deployment json file from being extra long when
looking for IMPORTED libraries, filter out paths to Qt modules or
plugins by checking for the _qt_package_version property.
These are handled via a different code path in anddroiddeployqt,
so there's no reason to duplicate the information.

Added documentation for how to opt out of this new behavior.

Amends d20f4ae706

[ChangeLog][CMake][Android] Imported targets are now considered
during Android deployment when using CMake 3.21+.

Fixes: QTBUG-94714
Fixes: QTBUG-105165
Change-Id: I9f01cdc4e63004e4768027e412899e441e72bf04
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2022-09-06 13:24:09 +02:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
LICENSES Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
bin Minor fixes for qt-configure-module 2022-06-27 17:55:19 +02:00
cmake wasm: suppress pthreads-mem-growth warning 2022-09-06 10:48:10 +02:00
coin Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
config.tests Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc CMake: Add reference documentation for QT_IOS_LAUNCH_SCREEN 2022-09-02 17:00:23 +02:00
examples Add CBOR documentation 2022-09-01 19:03:00 +02:00
lib
libexec Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
mkspecs wasm: set ALLOW_MEMORY_GROWTH for multi-threaded builds 2022-09-01 15:42:28 +02:00
qmake Move qVersion() from qglobal.h to qlibraryinfo.h 2022-09-01 13:26:30 +02:00
src CMake: Collect IMPORTED library dependencies for android deployment 2022-09-06 13:24:09 +02:00
tests qdbusxml2cpp: modify the behavior of -m/--moc option 2022-09-06 11:44:22 +02:00
util xcb: use libxcb-cursor to replace Xlib/libXcursor 2022-09-06 11:21:43 +02:00
.cmake.conf Bump version to 6.5.0 2022-06-06 13:23:59 +03:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore Assume qhelpgenerator in libexec instead of bin 2021-11-08 19:27:32 +01:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.tag
CMakeLists.txt Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
conanfile.py Conan: Do not force 'qt_host_path' usage in cross-build context 2022-06-22 18:18:42 +03:00
config_help.txt Add -disable-deprecated-up-to parameter to configure script 2022-08-19 23:52:05 +02:00
configure Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
configure.bat Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
configure.cmake wasm: add support for building Qt as shared libraries 2022-08-30 22:11:01 +10:00
dependencies.yaml
qt_cmdline.cmake Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
sync.profile Remove deprecated qgl.h from sync.profile 2022-06-11 00:42:13 +02:00