Update build instructions

This commit is contained in:
Konstantinos Sideris 2018-06-17 19:10:48 +03:00
parent 197b2dac74
commit 9884e02eb8
1 changed files with 32 additions and 18 deletions

View File

@ -14,6 +14,7 @@ feels more like a mainstream chat app ([Riot], Telegram etc) and less like an IR
Most of the features you would expect from a chat application are missing right now Most of the features you would expect from a chat application are missing right now
but we are getting close to a more feature complete client. but we are getting close to a more feature complete client.
Specifically there is support for: Specifically there is support for:
- E2EE encryption.
- User registration. - User registration.
- Creating, joining & leaving rooms. - Creating, joining & leaving rooms.
- Sending & receiving invites. - Sending & receiving invites.
@ -29,20 +30,15 @@ Specifically there is support for:
## Installation ## Installation
### Nightly releases ### Releases
- Linux [AppImage](https://github.com/mujx/nheko/releases/download/nightly/nheko-x86_64.AppImage)
- Windows [x64 installer](https://github.com/mujx/nheko/releases/download/nightly/nheko-installer.exe) You can find releases for Linux (AppImage), macOS (disk image) & Windows (x64 installer) on the [Bintray repo](https://bintray.com/mujx/matrix/nheko).
- macOS [disk image](https://github.com/mujx/nheko/releases/download/nightly/nheko.dmg)
### Repositories ### Repositories
#### Arch Linux #### Arch Linux
```bash ```bash
pacaur -S nheko-git pacaur -S nheko # nheko-git
# or
pacaur -S nheko
``` ```
#### Fedora #### Fedora
@ -69,7 +65,13 @@ sudo apk add nheko
- Qt5 (5.7 or greater). Qt 5.7 adds support for color font rendering with - Qt5 (5.7 or greater). Qt 5.7 adds support for color font rendering with
Freetype, which is essential to properly support emoji. Freetype, which is essential to properly support emoji.
- CMake 3.1 or greater. - CMake 3.1 or greater.
- [LMDB](https://symas.com/lightning-memory-mapped-database/). - [mtxclient](https://github.com/mujx/mtxclient)
- [matrix-structs](https://github.com/mujx/matrix-structs)
- [LMDB](https://symas.com/lightning-memory-mapped-database/)
- Boost 1.66 or greater.
- [libolm](https://git.matrix.org/git/olm)
- [libsodium](https://github.com/jedisct1/libsodium)
- [spdlog](https://github.com/gabime/spdlog)
- A compiler that supports C++ 14: - A compiler that supports C++ 14:
- Clang 5 (tested on Travis CI) - Clang 5 (tested on Travis CI)
- GCC 7 (tested on Travis CI) - GCC 7 (tested on Travis CI)
@ -89,7 +91,16 @@ Debian as the build host in an attempt to work around this [issue](https://githu
##### Arch Linux ##### Arch Linux
```bash ```bash
sudo pacman -S qt5-base qt5-tools qt5-multimedia qt5-svg cmake gcc fontconfig lmdb sudo pacman -S qt5-base \
qt5-tools \
qt5-multimedia \
qt5-svg \
cmake \
gcc \
fontconfig \
lmdb \
boost \
libsodium
``` ```
##### Gentoo Linux ##### Gentoo Linux
@ -105,28 +116,31 @@ sudo add-apt-repository ppa:beineri/opt-qt592-trusty
sudo add-apt-repository ppa:george-edison55/cmake-3.x sudo add-apt-repository ppa:george-edison55/cmake-3.x
sudo add-apt-repository ppa:ubuntu-toolchain-r-test sudo add-apt-repository ppa:ubuntu-toolchain-r-test
sudo apt-get update sudo apt-get update
sudo apt-get install -y g++-7 qt59base qt59svg qt59tools qt59multimedia cmake liblmdb-dev sudo apt-get install -y g++-7 qt59base qt59svg qt59tools qt59multimedia cmake liblmdb-dev libsodium-dev
``` ```
##### macOS (Xcode 8 or later) ##### macOS (Xcode 8 or later)
```bash ```bash
brew update brew update
brew install qt5 lmdb cmake llvm brew install qt5 lmdb cmake llvm libsodium spdlog boost
``` ```
### Building ### Building
Clone the repo and run First we need to install the rest of the dependencies that are not available in our system
```bash ```bash
make release cmake -Hdeps -B.deps \
-DUSE_BUNDLED_BOOST=OFF # if we already have boost & spdlog installed.
-DUSE_BUNDLED_SPDLOG=OFF
cmake --build .deps
``` ```
which invokes cmake and translates to We can now build nheko by pointing it to the path that we installed the dependencies.
```bash ```bash
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=.deps/usr
cmake --build build cmake --build build
``` ```
@ -143,7 +157,7 @@ You might need to pass `-DCMAKE_PREFIX_PATH` to cmake to point it at your qt5 in
e.g on macOS e.g on macOS
``` ```
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH=$(brew --prefix qt5) cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$(brew --prefix qt5)
cmake --build build cmake --build build
``` ```