blob: f1927def0d6cb73ef6bf13a062a5ab8f2be0c95a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
== 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[]
|