aboutsummaryrefslogtreecommitdiff
path: root/BUILDING.md
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2018-04-02 11:51:36 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2018-04-02 11:51:36 +0200
commit33360c1f75012bdb22104fd849053055d2147451 (patch)
treeb4232780dd8542b82b233fad981d0aa6e124d279 /BUILDING.md
parentPage menus refactoring (diff)
downloadsmolbote-33360c1f75012bdb22104fd849053055d2147451.tar.xz
Updated documentation
Diffstat (limited to 'BUILDING.md')
-rw-r--r--BUILDING.md55
1 files changed, 55 insertions, 0 deletions
diff --git a/BUILDING.md b/BUILDING.md
new file mode 100644
index 0000000..f654f8f
--- /dev/null
+++ b/BUILDING.md
@@ -0,0 +1,55 @@
+## 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.
+
+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.
+
+### [boost](http://www.boost.org/)
+Required component: program_options
+
+### cmake
+Minimal version 3.1.0, but please use something up-to-date.
+
+### A working compiler with C++17 support
+ - gcc 7
+ - clang 4 or later
+ - only MSVC is supported on Windows due to QtWebEngine
+
+## Compiling
+smolbote follows the generic cmake build template:
+
+~~~ sh
+# 1. Clone the repository
+hg clone https://neueland.iserlohn-fortress.net/smolbote.hg
+
+# 2. Generate Makefile
+mkdir release && cd release
+cmake -DCMAKE_BUILD_TYPE=Release ../smolbote.hg
+
+# 3. Build
+make -j 4
+
+# 4. Install
+make install
+~~~
+
+### howto --verbose
+
+#### -DCMAKE_BUILD_TYPE
+Controls what flags and optimizations are set. Possible values: Debug, Release,
+RelWithDebInfo, MinSizeRel
+
+#### -DCMAKE_INSTALL_PREFIX
+Sets the install location. Binaries will be written to bin/, and plugins to
+lib/smolbote/.
+
+#### Using libc++
+You can use libc++ over stdlibc++ by setting UseLibCpp to On. Requires clang.
+
+~~~ sh
+-DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DUseLibCpp=On
+~~~