aboutsummaryrefslogtreecommitdiff
path: root/docs/manual/Building.md
blob: a0c6d947717b014be736457a3276229d06d49180 (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
# Building

## Dependencies

### Libraries
- [Qt](https://www.qt.io/)
  - at least 5.9 (codebase should largely work with Qt 5.7)
  - core, widgets
  - webengine, webenginewidgets
- [libconfig](https://hyperrealm.github.io/libconfig/)

### Tools
* A working compiler
  - gcc or clang on Linux
  - msvc on Windows due to QtWebEngine
* cmake
  - minimal version 3.1.0, but please use something up-to-date

## Compiling
```
cmake -DCMAKE_BUILD_TYPE=Release ../smolbote.git
make -j 4
```

### Using libc++
```text
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DUseLibCpp=On ../smolbote.git
make -j 4
```

## Packaging

### Source Tarball
```
# Get source code from the repository
git archive --format=tar HEAD > head.tar
# Compress with lzip
lzip -9 --force --output=head.tar.lz head.tar
# Generate checksum
sha512sum --binary head.tar.lz > head.tar.lz.sha512
```

### makepkg
A PKGBUILD is provided in linux/makepkg/PKGBUILD. Please read before using.

## Troubleshooting

### Cannot link libconfig
You don't have pkg-config installed.