QBS for Aurora OS
EN | RU
QBS modules, imports, profiles and scripts for cross-compiling applications for Aurora OS.
Structure
qbs-for-aurora-os/
imports/ QBS items for CMake/DeployQt projects (Qt 6)
system-qt/imports/ QBS items for system Qt 5.6 projects
deps/imports/ Source build recipes (ffmpeg, libvpx, opus, etc.)
modules/ Qt module stubs
module-providers/ Qt module provider
profiles/ QBS profiles and setup script
scripts/ SDK download and sysroot fix scripts
tools/ moc56 builder for Qt 5.6
Quick start
1. Download sysroot
./scripts/download-sdk.sh
By default, sysroots for both architectures (aarch64 + armv7hl) are kept.
Options:
-
-a aarch64|armv7hl|all-- target architecture (default: all) -
-o DIR-- output directory -
-v VERSION-- SDK version (default: 5.2.0.75) -
--single-arch-- remove other architecture sysroot (saves ~1.5GB) -
--keep-all-- keep all SDK files (compilers, Docker files)
2. Setup QBS profiles
./profiles/setup-aurora-profiles.sh
3. Build
qbs build profile:aurora-armv7hl
qbs build profile:aurora-aarch64
Cross-compilers
Arch Linux
# aarch64
sudo pacman -S aarch64-linux-gnu-gcc
# armv7hl (ARM's official toolchain)
# See pkg/ directory or use SDK compilers
SDK compilers (any distro)
Download with --keep-all flag, then:
export PATH="$SDK_ROOT/opt/cross/bin:$PATH"
Imports
CMake/DeployQt projects (imports/)
For projects that build Qt 6 from source and use CMake:
-
AuroraCMakeProject.qbs/AuroraCMakeApp.qbs/AuroraCMakeRpm.qbs -
AuroraDeployQtProject.qbs/AuroraDeployQtApp.qbs/AuroraDeployQtRpm.qbs -
AuroraRpmSign.qbs-- RPM signing
System Qt 5.6 projects (system-qt/imports/)
For standalone apps using Aurora's built-in Qt 5.6:
-
AuroraProject.qbs/AuroraApp.qbs/AuroraRpm.qbs AuroraQmlLibrary.qbs
Requires moc56 from tools/build-moc56.sh.
License
BSD-3-Clause