aboutsummaryrefslogtreecommitdiff
path: root/docs/manual/Building.md
blob: 56a66464dff78eb2f33fcecd1ec149c77c80826e (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
# 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
* qbs
  - minimal version 1.8.0

## Compiling

### Create qbs configuration
Before you can build anything with qbs, you need to set up the compiler
toolchain.

```
qbs setup-toolchains --detect
qbs setup-qt /usr/bin/qmake-qt5 qt5
```

### Compiling
```
mkdir ../build
qbs build -d ../build profile:qt5 release
```

## 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.

## Troubleshooting

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