A Qt6 / QML application template, with a full set of visual controls, helper modules, as well as build and deploy scripts and CI setups.
You will need a C++17 compiler and Qt 6.8+.
For macOS and iOS builds, you'll need Xcode (15+) installed.
For Windows builds, you'll need MSVC 2022 installed.
For Android builds, you'll need the appropriates JDK (17) SDK (28+) and NDK (28+). You can customize Android build environment using the assets/android/gradle.properties file.
- Linux (Ubuntu 22.04+)
- macOS 12+
- Windows 10+
- Android 9+
- iOS 16+
Qt 6.8 brings big changes and hard platform requirements, so I took this "opportunity" to modernize this template a bit. Let's embrace breaking everything! Again.
Qt 6.x "minor" versions are full of major breakages, it's just too much work to support a matrix of many different versions or build systems.
QmlAppTemplate is now cmake only. Maintaining both cmake and qmake variants of many things was just too much work, and both sides were suffering of less than ideal support. Qt 6 is geared toward cmake, and latest Qt 6 releases are introducing even more tighly coupled features and tooling requirements anyway.
$ git clone https://github.com/emericg/QmlAppTemplate.git --recursive
$ cd QmlAppTemplate/
$ cmake -B build/
$ cmake --build build/To build for Android and iOS, you should use the qt-cmake script from your Qt installation.
$ /path/to/Qt/bin/qt-cmake -B build/
$ cmake --build build/AppUtils Various general purpose helpers
MobileUI Interact with Android and iOS UI
MobileSharing Use Android and iOS cross application sharing features
SingleApplication Keep only one instance of your desktop application active at a time
TODO
TODO
Linux application ZIP and AppImage
macOS application ZIP (with code signing)
Windows application ZIP and NSIS installer
These files are also useful to get an idea about the whole build and deploy process.
Desktop (cmake) Linux, macOS (with notarization) and Windows workflow
Mobile (cmake) Android and iOS workflow (with code signing & store deployment)
Linux flatpak "on demand" workflow
QmlAppTemplate is released under the terms of the MIT license.
Emeric Grange emeric.grange@gmail.com
-
AppUtils uses MIT license
-
MobileUI uses MIT license
-
MobileSharing uses MIT license
-
SingleApplication uses MIT license
-
ComponentLibrary uses MIT license
-
IconLibrary uses a combinaison of licenses, see COPYING


