Table of Contents
- Merge Requests
- Source Tree Layout
- Build Instructions
Kirogi’s source code is hosted on KDE’s GitLab. You can fork and make merge requests via the website.
We try our best to review submissions quickly, but have a little patience with our small team. 🙂
Source Tree Layout
Below is a list of directory paths in Kirogi’s source tree and their purpose, to help you navigate our codebase.
cmake/- Additional CMake modules for dependency discovery.
data/- Metadata including the .desktop file, AppStream data and the application icon.
platforms/android/- Boilerplate and assets specific to the Android version, including the splash screen.
src/- The primary source code of the application, including the classic
src/gstreamer/- Helper code to integrate the GStreamer multimedia framework into the application.
src/lib/- The backend library used by the application, which can be built seperately and used by other applications as well. It has C++ and Qt Quick APIs and a plugin interface.
src/plugins/- Plugins implementing support for various vehicles.
src/ui/- The QML files implementing the application user interface.
src/ui/assets/- Static image assets used in the UI.
src/ui/components/- QML components used repeatedly throughout the UI.
src/ui/helpers/- Little helpers used internally by the QML components.
Kirogi is a KDE application using KDE’s standard CMake-based build system. KDE’s build documentation applies to Kirogi, but here are some example build commands you can adapt to suit your needs:
cd kirogi mkdir build cd build cmake -DCMAKE_BUILD_TYPE=relwithdebinfo -DCMAKE_INSTALL_PREFIX=<path to install to> ../ make make install
Kirogi’s build system supports building the backend library only if you’re building a new application using its backend library. Check the top-level
CMakeLists.txt file for build options.
For local development builds targeting Android, we recommend the KDE Android SDK Docker image. Its pre-installed software and helper scripts make building Kirogi and its dependencies fast and easy.
Kirogi is written in C++14 and QML.
Kirogi requires recent versions of Qt and some of the KDE Frameworks libraries. For a complete list of dependencies, check the top-level
CMakeLists.txt file in the codebase, or just try to build the application and follow the instructions in the build output in case of missing dependencies.
Kirogi also requires a recent version of the GStreamer multimedia framework and in particular the
gstqmlgl sink plugin in
On Android, Kirogi currently additionally depends on QtZeroConf for mDNS-based vehicle discovery (desktop builds use KDNSSD instead).
Kirogi’s library in src/lib/ and bundled vehicle support plugins in src/plugins/ are licensed under LGPL v2.1 (or later), see COPYING.LIB.
The frontend (UI and other business logic) is licensed under GPL v2 (or later), see COPYING.
The app icon in data/icons/ is licensed under LGPL v2.1 (or later), see COPYING.LIB.
The mascot artwork in src/ui/assets/ is licensed under CC-BY-SA 4.0, see COPYING.MASCOT.