aboutsummaryrefslogtreecommitdiff
path: root/BUILDING.md
diff options
context:
space:
mode:
Diffstat (limited to 'BUILDING.md')
-rw-r--r--BUILDING.md42
1 files changed, 25 insertions, 17 deletions
diff --git a/BUILDING.md b/BUILDING.md
index f654f8f..64bcd1e 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -1,21 +1,21 @@
## Before you start
### [Qt](https://www.qt.io/)
-An up-to-date version of Qt is required, even though the code, with minor
-patches, can work with anything after 5.7.
+Minimal required version is 5.10.
-An up-to-date version of QtWebEngine is highly recommended also due to fixes to
-Blink that do _not_ get backported. QtWebEngine can be built with older versions
-of Qt.
+An up-to-date version of QtWebEngine is highly recommended due to fixes to Blink
+that do _not_ get backported. QtWebEngine can be built with older versions of
+Qt, so consider building it if you use the LTS Qt release.
### [boost](http://www.boost.org/)
-Required component: program_options
+Required component: program_options, string algorithms
-### cmake
-Minimal version 3.1.0, but please use something up-to-date.
+### cmake and a build tool
+Minimal version 3.1.0, only 3.10+ is tested; your build tool of choice (make,
+ninja, etc.)
-### A working compiler with C++17 support
- - gcc 7
+### A preferably working compiler with C++17 support
+ - gcc 7 or later
- clang 4 or later
- only MSVC is supported on Windows due to QtWebEngine
@@ -26,9 +26,19 @@ smolbote follows the generic cmake build template:
# 1. Clone the repository
hg clone https://neueland.iserlohn-fortress.net/smolbote.hg
+# (optional) you can also get checksums for some commits
+# get node for the current commit
+hg log -r tip --template='{node}'
+# get sha512 checksums and signature
+curl -O https://neueland.iserlohn-fortress.net/smolbote/integrity/$node
+curl -O https://neueland.iserlohn-fortress.net/smolbote/integrity/$node.sig
+# verify signature and files
+gpg --verify $node.sig
+sha512sum --check --quiet $node
+
# 2. Generate Makefile
-mkdir release && cd release
-cmake -DCMAKE_BUILD_TYPE=Release ../smolbote.hg
+mkdir path/to/build && cd path/to/build
+cmake -DCMAKE_BUILD_TYPE=Release path/to/smolbote.hg
# 3. Build
make -j 4
@@ -37,17 +47,15 @@ make -j 4
make install
~~~
-### howto --verbose
-
-#### -DCMAKE_BUILD_TYPE
+### -DCMAKE_BUILD_TYPE
Controls what flags and optimizations are set. Possible values: Debug, Release,
RelWithDebInfo, MinSizeRel
-#### -DCMAKE_INSTALL_PREFIX
+### -DCMAKE_INSTALL_PREFIX
Sets the install location. Binaries will be written to bin/, and plugins to
lib/smolbote/.
-#### Using libc++
+### Using libc++
You can use libc++ over stdlibc++ by setting UseLibCpp to On. Requires clang.
~~~ sh