Table of Contents


Merge Requests

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.

Build Instructions

General

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.

If you are including the MAVLink plugin for the build, then the CMake command would be:

cmake -DCMAKE_BUILD_TYPE=relwithdebinfo -DCMAKE_INSTALL_PREFIX=<path to install to> -DMAVLINK_INCLUDE_DIR<path MAVLink is installed to> ../

Android

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.

Dependencies

Kirogi is written in C++14 and QML.

General

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 gst-plugins-good.

Android

On Android, Kirogi currently additionally depends on QtZeroConf for mDNS-based vehicle discovery (desktop builds use KDNSSD instead).

License

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.