A CMake utility for building and deploying Qt applications on Android without requiring QtCreator or QMake.
Qt Android CMake is a utility that provides a CMake-based workflow for building and deploying Qt applications on Android. It solves the problem of being forced to use QtCreator and QMake for Android development by integrating directly with CMake, allowing developers to maintain a single build system. It wraps Qt's Android tooling to generate APKs from CMake targets.
Qt developers who prefer using CMake for their projects and need to target the Android platform without switching to QtCreator or QMake. It's ideal for those maintaining cross-platform applications with a CMake-based build system.
Developers choose this utility because it eliminates the need to duplicate build logic in .pro files, providing a clean, CMake-native approach to Android deployment. It simplifies the workflow by integrating directly with existing CMake configurations and leveraging standard Qt Android tools.
A simple CMake utility for building and deploying Qt based applications on Android without QtCreator
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Seamlessly integrates with existing CMake projects using if(ANDROID) blocks, eliminating the need for duplicate QMake .pro files and maintaining a single build system.
Provides the add_qt_android_apk macro to automate APK generation directly from CMake library targets, streamlining deployment without QtCreator.
Supports optional arguments for customizing app name, version, package details, keystore signing, and more, as detailed in the README's options section.
Enables Android development purely with CMake and command-line tools, appealing to developers who prefer avoiding QtCreator's ecosystem.
Specifically noted as untested on Mac OS X in the README, which limits its usability for developers on that platform and may require additional troubleshooting.
Requires manual configuration of environment variables (ANDROID_NDK, JAVA_HOME) and precise CMake command-line invocations, which can be error-prone for newcomers.
Heavily relies on Qt's androiddeployqt and the Android NDK CMake toolchain; any bugs or updates in these tools, as referenced in the troubleshooting section, can break functionality.