diff --git a/README.md b/README.md index 48f44f3a..fb813977 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ nheko The motivation behind the project is to provide a native desktop app for [Matrix] that feels more like a mainstream chat app ([Riot], Telegram etc) and less like an IRC client. -### Features +## Features 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. @@ -27,10 +27,14 @@ Specifically there is support for: - Room switcher (ctrl-K). - Light, Dark & System themes. -### Installation +## Installation -There are continuous nightly releases [here](https://github.com/mujx/nheko/releases/tag/nightly) -for Linux ([AppImage](https://appimage.org/), rpm, deb), Mac and Windows. +### Nightly 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) +- macOS [disk image](https://github.com/mujx/nheko/releases/download/nightly/nheko.dmg) + +### Repositories #### Arch Linux ```bash @@ -66,9 +70,10 @@ sudo apk add nheko Freetype, which is essential to properly support emoji. - CMake 3.1 or greater. - [LMDB](https://symas.com/lightning-memory-mapped-database/). -- A compiler that supports C++11. - - Clang 3.8 (or greater). - - GCC 7 (or greater). +- A compiler that supports C++ 14: + - Clang 5 (tested on Travis CI) + - GCC 7 (tested on Travis CI) + - MSVC 19.13 (tested on AppVeyor) #### Linux @@ -98,19 +103,11 @@ sudo emerge -a ">=dev-qt/qtgui-5.7.1" media-libs/fontconfig ```bash sudo add-apt-repository ppa:beineri/opt-qt592-trusty sudo add-apt-repository ppa:george-edison55/cmake-3.x +sudo add-apt-repository ppa:ubuntu-toolchain-r-test sudo apt-get update -sudo apt-get install -y qt59base qt59tools qt59multimedia cmake liblmdb-dev -``` - -To build on Ubuntu 14.04 Trusty out-of-the-box requires using Clang 3.6 instead of GCC: - -```bash -sudo apt-get install clang-3.6 -export CC=clang-3.6 CXX=clang++-3.6 +sudo apt-get install -y g++-7 qt59base qt59tools qt59multimedia cmake liblmdb-dev ``` -On Ubuntu 14.04 Trusty, it's possible to use GCC 4.9.4+, but it is not recommended, because it requires installing GCC packages from third-party PPAs. Later versions of Ubuntu that come with GCC 4.9.4+ should work with GCC out-of-the-box. - ##### macOS (Xcode 8 or later) ```bash diff --git a/appveyor.yml b/appveyor.yml index c34d9510..dc043b73 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -2,21 +2,18 @@ version: 0.3.1-{build} -environment: - global: - MSYSTEM: "MINGW64" - +configuration: Release +image: Visual Studio 2017 platform: x64 -configuration: - - Release - build: verbosity: minimal install: - - set QT_DIR=C:\Qt\5.10.1\msvc2015_64 + - set QT_DIR=C:\Qt\5.10.1\msvc2017_64 - set PATH=%PATH%;%QT_DIR%\bin;C:\MinGW\bin + - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" + - vcpkg install lmdb:%PLATFORM%-windows build_script: # VERSION format: branch-master/branch-1.2 @@ -36,7 +33,9 @@ build_script: - echo %VERSION% - echo %INSTVERSION% - echo %DATE% - - cmake -G "Visual Studio 14 2015 Win64" -H. -Bbuild -DAPPVEYOR_BUILD=ON -DCMAKE_BUILD_TYPE=Release + - cmake -G "Visual Studio 15 2017 Win64" -H. -Bbuild + -DCMAKE_TOOLCHAIN_FILE=C:/Tools/vcpkg/scripts/buildsystems/vcpkg.cmake + -DCMAKE_BUILD_TYPE=Release - cmake --build build --config Release after_build: @@ -45,7 +44,7 @@ after_build: - echo %BUILD% - mkdir NhekoRelease - copy build\Release\nheko.exe NhekoRelease\nheko.exe - - windeployqt --qmldir C:\Qt\5.10.1\msvc2015_64\qml\ --release NhekoRelease\nheko.exe + - windeployqt --qmldir %QT_DIR%\qml\ --release NhekoRelease\nheko.exe - copy C:\OpenSSL-Win64\bin\ssleay32.dll .\NhekoRelease\ssleay32.dll - copy C:\OpenSSL-Win64\bin\libeay32.dll .\NhekoRelease\libeay32.dll - copy C:\OpenSSL-Win64\lib\libeay32.lib .\NhekoRelease\libeay32.lib diff --git a/src/ChatPage.cc b/src/ChatPage.cc index 110b8131..58a6fb4b 100644 --- a/src/ChatPage.cc +++ b/src/ChatPage.cc @@ -17,7 +17,6 @@ #include #include -#include #include #include @@ -531,7 +530,7 @@ ChatPage::syncCompleted(const mtx::responses::Sync &response) { syncTimeoutTimer_->stop(); - auto promise = QtConcurrent::run([this, res = std::move(response)]() { + QtConcurrent::run([this, res = std::move(response)]() { try { cache_->saveState(res); emit syncUI(res.rooms); diff --git a/src/Utils.cc b/src/Utils.cc index 1c053d38..fd88d51c 100644 --- a/src/Utils.cc +++ b/src/Utils.cc @@ -1,6 +1,7 @@ -#include "Cache.h" #include "Utils.h" +#include "Cache.h" + #include using TimelineEvent = mtx::events::collections::TimelineEvents;