Details
-
Bug
-
Resolution: Done
-
P2: Important
-
6.0.0 Beta3
-
-
0d42f4df9275897d708ee01ed879ac185aab7360 (qt/qtbase/dev) ab9032acbb6a6ffb0a4fd43eee8a4fe8bbf27ca1 (qt/qtbase/6.1) dc34954d4c3700ee4e78b9707ce45b31d5f4331b (qt/qtbase/6.0)
Description
When running unit tests for Android (probably the same for all cross-platform builds), CMake expects the fake_prefix folder at the root of the CMake tests build folder. For Android, the folder <qt_prefix>/src/ contains files needed for Android Gradle builds, without them apk generation won't work. For now, a workaround on Linux is to have a symbolic link from the actually installed qt prefix.
The root cause is that androiddeployqt tries to copy the Gradle files from the fake_root where it should look in the qt install prefix
Cannot find template directory /home/assam/sources/qt5/qt5/qtbase/tests/build-tests/fake_prefix/src/3rdparty/gradle
the path is assigned by CMake when generating the JSON file in qtbase/src/corelib/Qt6AndroidMacros.cmake, we have this check
if (NOT QT_BUILDING_QT OR QT_STANDALONE_TEST_PATH)
that check for standalone var shouldn't be there and then, the value of qt_android_install_dir should be
set(qt_android_install_dir "${qt_path}")
instead of
set(qt_android_install_dir "${CMAKE_INSTALL_PREFIX}")
Attachments
For Gerrit Dashboard: QTBUG-88579 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
333608,3 | CMake: always pass QT6_INSTALL_PREFIX to androiddeployqt | dev | qt/qtbase | Status: MERGED | +2 | 0 |
333813,2 | CMake: always pass QT6_INSTALL_PREFIX to androiddeployqt | 6.1 | qt/qtbase | Status: MERGED | +2 | 0 |
333814,2 | CMake: always pass QT6_INSTALL_PREFIX to androiddeployqt | 6.0 | qt/qtbase | Status: MERGED | +2 | 0 |