aboutsummaryrefslogtreecommitdiff
path: root/BUILDING.md
diff options
context:
space:
mode:
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
+~~~