mobile
mobile copied to clipboard
WIP: Remove dep on mobile-sdk
Move vcpkg build of dependancies to main mobile repo, so we are not dependent on 2 separate repos anymore. This is stage 1, so we are keeping exactly the same vcpkg overrides as we have in latest build SDK from mobile-sdk.
DONE:
- MacOS local build on my laptop (running app) 1/ cmake 4.0.1 (latest from homebrew) is broken for macOS 15.4; e.g. constructs empty -isysroot (use cmake 3.x)
brew install cmake automake bison flex gnu-sed autoconf-archive libtool ninja pkg-config
export PATH=$(brew --prefix flex)/bin:$(brew --prefix bison)/bin:$(brew --prefix gettext)/bin:$PATH;\
export PATH=${PWD}/../vcpkg:$PATH;\
export DEPLOYMENT_TARGET=11.0;\
PATH=/Applications/CMake.app/Contents/bin/:$PATH
cmake \
-DQGIS_QUICK_DATA_PATH=/Users/peterpetrik/Projects/quick/mobile/app/android/assets/qgis-data \
-GNinja \
-DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake \
-DVCPKG_TARGET_TRIPLET=arm64-osx \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_MAKE_PROGRAM=ninja \
-DCMAKE_INSTALL_PREFIX:PATH=../install-mobile-macos \
../../mobile
ninja
ninja install
TODO:
- [ ] local builds for android and iOS
- [x] binary caching of NuGet binaries between builds
- [ ] fix CI for all platforms
- [ ] fix INSTALL.md and other documentation
- [ ] cleanup CMakelists
- [ ] test binaries
- [ ] generate GDAL supported formats as artefact on one platform (for docs)
- [ ] icon in macOS installer, notarise the dmg
- [ ] install step (desktop platforms)
fixes https://github.com/MerginMaps/mobile/issues/620
Pull Request Test Coverage Report for Build 17454806243
Details
- 0 of 0 changed or added relevant lines in 0 files are covered.
- No unchanged relevant lines lost coverage.
- Overall coverage decreased (-40.2%) to 19.571%
| Totals | |
|---|---|
| Change from base Build 17407935984: | -40.2% |
| Covered Lines: | 13867 |
| Relevant Lines: | 70855 |
💛 - Coveralls
Some notes from using VCPKG on Fedora 41:
- There was a necessary fix for patchelf (dependency of FFMPEG I think)
- Openssl doesn't work out of the box on Fedora 41/42, but workaround exists #3801
- While using wayland on host, build is using x11
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
- Bluetooth is not working out of the box
qt.bluetooth: Dummy backend running. Qt Bluetooth module is non-functional.
- New error, I'm not sure to what it's tied (SQLite ?)
Case insensitive sorting unsupported in the posix collation implementation
For future reference: https://doc.qt.io/qt-6/build-optimized-qt.html We should be able to optimize the app size this way
should also fix #4000