Flasher  0.1.0
Loading...
Searching...
No Matches
Getting Started

Table of Contents

In this chapter, we set up a development environment that allows us to build the Flasher executable and it's documentation.

We recommend either an Arch (e.g. Garuda or Manjaro) or Ubuntu based distribution, so all of the following steps refer to those.

Prerequisites

In order to start developing Flasher, we need to meet quite a few prerequisites. Fortunately, all of them can be obtained directly from the package manager. But before we do that, let's bring our system up to date.

  • Arch
    sudo pacman -Syu --noconfirm
  • Ubuntu 24.04
    sudo apt update -y
    sudo apt upgrade -y

Without going into detail about each individual dependency, the most important ones are CMake, a build system, GCC, a compiler, Qt6, a cross-platform GUI framework, Ninja, a build tool, Doxygen, a documentation generator, and Graphviz, a graph visualization software.

  • CMake ( >= 3.25 )
  • GCC ( >= 13.2.0 )
  • Qt6 ( >= 6.4.3 )
  • Ninja ( >= 1.10.2 )
  • Optional
  • Arch
    sudo pacman -S --noconfirm cmake doxygen gcc git graphviz make ninja qt6-5compat qt6-base qt6-serialport qt6-svg
  • Ubuntu 24.04
    sudo apt-get install -y build-essential clang-format cmake doxygen git graphviz libgl1-mesa-dev libglx-dev libqt6svg6* ninja-build qt6-5compat-dev qt6-base-dev qt6-serialport-dev zlib1g-dev

Clone

The Flasher source code is hosted on GitHub. We can use either SSH or HTTP to clone the repository. Using git clone without any additional arguments will clone the latest version of the master branch to the current working directory. After that, we can change into the Flasher directory we've just created.

  • SSH
    git clone git@github.com:OpenRemise/Flasher.git
    cd Flasher
  • HTTPS
    git clone https://github.com/OpenRemise/Flasher.git
    cd Flasher

Build

The build supports both debug and release configurations. Apart from the obvious optimizations the main difference is that for release configurations, Qt6 gets built from source.

Warning
Depending on your internet connection and machine downloading and compiling Qt6 may take several minutes.
  • Debug
    cmake --preset "Debug"
  • Release
    cmake --preset "Release"

After the CMake configure stage has been successful, we just need to run the actual build stage.

cmake --build build --parallel

Doc

If Doxygen was found during CMake's configuration phase, the FlasherDocs target can be built to create the documentation.

cmake --build build --target FlasherDocs
Previous Next
Introduction API reference