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.
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.
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.
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.
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.
After the CMake configure stage has been successful, we just need to run the actual build stage.
If Doxygen was found during CMake's configuration phase, the FlasherDocs
target can be built to create the documentation.