Skip to content

Latest commit

 

History

History
117 lines (70 loc) · 3.96 KB

README.md

File metadata and controls

117 lines (70 loc) · 3.96 KB

QmlAppTemplate

GitHub action GitHub action GitHub issues MIT license

About

A Qt6 / QML application template, with a full set of visual controls, helper modules, as well as build and deploy scripts and CI setups.

Prerequisites

You will need a C++17 compiler and Qt 6.7+.

For macOS and iOS builds, you'll need Xcode (15+) installed.
For windows builds, you'll need MSVC 2019 (or 2022) installed.
For Android builds, you'll need the appropriates JDK (17) SDK (28+) and NDK (26b+). You can customize Android build environment using the assets/android/gradle.properties file.

https://doc.qt.io/qt-6.7/supported-platforms.html

Platform support

  • Linux
  • macOS 11+
  • Windows 10+
  • Android 8+
  • iOS 14+

Recent changes

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.

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.

Building QmlAppTemplate

$ 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/

Content

C++ modules

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

QML component library

TODO

Icon library

TODO

Deploy scripts

Linux application ZIP and AppImage

macOS application ZIP (unsigned)

Windows application ZIP and NSIS installer

GitHub CI workflows

These files are also useful to get an idea about the whole build and deploy process.

Desktop (cmake) Linux, macOS and Windows workflow

Mobile (cmake) Android and iOS workflow (with store deployment)

Linux flatpak "on demand" workflow

Screenshots

GUI_MOBILE

GUI_DESKTOP1 GUI_DESKTOP2

Licensing

QmlAppTemplate is released under the terms of the MIT license.

Emeric Grange [email protected]