From d8cc3eeeb55b92b0d7fe9a325937df11c28fbcaa Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sun, 12 Jan 2020 17:05:25 +0200 Subject: Update doc/ and move various entries to wiki --- doc/building.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 doc/building.md (limited to 'doc/building.md') diff --git a/doc/building.md b/doc/building.md new file mode 100644 index 0000000..9ea9344 --- /dev/null +++ b/doc/building.md @@ -0,0 +1,59 @@ +## Building from source + +### Dependencies +- [Qt](https://www.qt.io/) +- [meson](https://mesonbuild.com/) 0.52.0 or later +- [kconfiglib](https://github.com/ulfalizer/Kconfiglib/) +- A compiler with C++17 support +- spdlog: if not found can be downloaded by meson + +### Optional dependencies +- openssl or libressl: for signing plugins +- breakpad-client +- gtest + +### Steps +``` +# clone the repository +git clone https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote.git smolbote.git +cd smolbote.git + +# Get the submodules +git submodule init +git submodule update + +# configure +mkdir build +meson build + +# make +ninja +``` + +## Using meson + +### Listing build options +``` +build% meson configure +``` + +### Changing build options +``` +build% meson configure -D= +``` + +### Prevent meson from downloading wraps +During configure, meson can download missing dependencies on its own using +wraps. To disable this, pass '--wrap-mode=nodownload' during the configure +phase: +``` +repo% meson --wrap-mode=nodownload build-path +``` + +For more information on how to use meson, see the meson [quick quide](https://mesonbuild.com/Quick-guide.html). + +## Configuring builds +smolbote uses Kconfig to store and customize features and default settings such +as keyboard shortcuts and paths. You can edit these settings using `menuconfig` +from kconfiglib or similar. + -- cgit v1.2.1