== Requirements [cols="1,1,3"] |=== |Name |Version |Notes | link:https://www.qt.io/[Qt] | 5.11.1 or later | QtWebEngine should be buildable with older versions of Qt. Please use the latest version. | link:http://www.boost.org/[boost] | Version 1.66 | Components: program_options | link:https://mesonbuild.com/[meson] | Version 0.48 | | ninja | | Requirement of meson | python3 | | Requirement both of meson, and some scripts in tools/ | A compiler | C++17 support | gcc 7+; clang 4+; on Windows only MSVC is supported due to QtWebEngine | asciidoc | | Only for building manpage |=== == Building from source In short, the generic cmake build loop of 'cmake, make, make install' will generate a makefile, build the program and install it. [source, sh] ---- # clone the repository git clone https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote.git smolbote.git cd smolbote.git # These two submodules are required git submodule init git submodule update 3rd-party/SingleApplication/SingleApplication.git git submodule update tools/Kconfiglib # generate build.ninja mkdir build meson build # make ninja ---- === Configuring smolbote smolbote uses Kconfig to store and customize default application settings such as keyboard shortcuts and paths. You can edit these settings by running `tools/Kconfiglib/menuconfig.py` in the repository root. When building, tools/config.py is used to load `platform-name/.config` and generate a header file. === Configuring meson Run `meson configure` in the build directory to list available options. Use `meson configure -Doption=value` change them. Ninja will regenerate its build file on next run. See the link:https://mesonbuild.com/Quick-guide.html[meson documentation] for more information on how to use meson. // Compiling on Windows include::Building/Windows.asciidoc[]