Chat client for https://twitch.tv
Find a file
LajamerrMittesdine d7a317efc7
Fix compiler error
Place public: in the correct location.
2018-05-16 11:34:29 -04:00
browser_ext added new TupleTableModel for settingsdialog 2018-04-25 14:51:22 +02:00
dependencies Add ability to customize openssl directory 2018-04-15 16:11:38 +02:00
docs added streamview widget 2018-01-19 14:49:21 +01:00
forms Rework the Account Popup Widget 2018-01-18 18:20:40 +01:00
lib added template model/view magic for commands 2018-04-29 23:26:17 +02:00
resources added new overlay for splits when you hold alt that does nothing yet 2018-05-08 16:55:20 +02:00
src Fix compiler error 2018-05-16 11:34:29 -04:00
.clang-format Move clang-format file to the correct path 2017-05-27 14:59:26 +02:00
.gitignore Ignore /build/ folder 2018-05-06 14:16:16 +02:00
.gitmodules PubSub system (#346) 2018-04-15 15:09:31 +02:00
.travis.yml started adding text selection 2017-02-17 23:51:35 +01:00
chatterino.pro updated splitheader 2018-05-16 15:02:01 +02:00
ISSUE_TEMPLATE.md Create ISSUE_TEMPLATE.md 2018-01-07 00:16:26 +01:00
LICENSE Add LICENSE file (#130) 2017-10-13 21:57:43 +02:00
README.md Update README.md 2018-05-14 13:04:58 +02:00

alt text Chatterino 2

Chatterino 2 is the second installment of the Twitch chat client series "Chatterino". For now you can check out Chatterino 1 at https://chatterino.com.

Code style

The code is normally formated using clang format in Qt Creator. .clang-format contains the style file for clang format.

To setup automatic code formating with QT Creator, see this guide.

Building

Before building run git submodule update --init --recursive to get required submodules.

Windows

Using Qt Creator

Visual Studio 2017
  1. Install Visual Studio 2017 and select "Desktop development with C++" and "Universal Windows Platform development.
Boost
  1. Visual Studio 2017 64-bit: https://dl.bintray.com/boostorg/release/1.66.0/binaries/boost_1_66_0-msvc-14.1-64.exe
  2. When prompted, install boost to C:\local\boost
  3. When the installation is finished, go to C:\local\boost and rename the "lib64-msvc-14.1" folder to "lib"
OpenSSL
For our websocket library, we need OpenSSL 1.1
  1. Download OpenSSL development library: https://slproweb.com/download/Win64OpenSSL-1_1_0h.exe
  2. When prompted, install openssl to C:\local\openssl
  3. When prompted, copy the OpenSSL DLLs to "The OpenSSL binaries (/bin) directory"
For Qt SSL, we need OpenSSL 1.0
  1. Download OpenSSL light: https://slproweb.com/download/Win64OpenSSL_Light-1_0_2o.exe
  2. When prompted, install it anywhere
  3. When prompted, copy the OpenSSL DLLS to "The OpenSSL binaries (/bin) directory"
  4. Copy the OpenSSL 1.0 files from its /bin folder to C:/local/bin (You will need to create the folder)
  5. Then copy the OpenSSL 1.1 files from its /bin folder to C:/local/bin (Overwrite any duplicate files)
  6. Add C:/local/bin to your path folder (Follow guide here if you don't know how to do it: https://www.computerhope.com/issues/ch000549.htm#windows8 )
Qt
  1. Download Qt: https://www.qt.io/download
  2. Select "Open source" at the bottom of this page
  3. Then select "Download"
When prompted which components to install:
  1. Under the latest Qt version:
  • Select MSVC 2017 64-bit (or MSVC 2015 64-bit if you still use Visual Studio 2015)
  • Optionally, enable Qt WebEngine
  1. Under Tools:
  • Select Qt Creator, and Qt Creator CDB Debugger Support

Windows (Using MSYS2)

Note: This guide is currently out of date and will not work as is. Note: This build will have some features missing from the build.

Building using MSYS2 can be quite easier process. Check out MSYS2 at msys2.org.

Be sure to add -j <number of threads> as a make argument so it will use all your cpu cores to build. example setup

You can also add -o2 to optimize the final binary size but increase compilation time, and add -pipe to use more ram in compilation but increase compilation speed

  1. open appropriate MSYS2 terminal and do pacman -S mingw-w64-<arch>-boost mingw-w64-<arch>-qt5 mingw-w64-<arch>-rapidjson where <arch> is x86_64 or i686
  2. go into the project directory
  3. create build folder mkdir build && cd build
  4. qmake .. && mingw32-make

Linux

Ubuntu 16.04.2 LTS

most likely works the same for other Debian-like distros

  1. install QT Creator sudo apt-get install qtcreator qtmultimedia5-dev
  2. install boost-dev sudo apt-get install libboost-dev
  3. open chatterino.pro with QT Creator and build

Ubuntu 18.04

most likely works the same for other Debian-like distros

  1. Install dependencies (and the C++ IDE Qt Creator) sudo apt install qtcreator qtmultimedia5-dev libqt5svg5-dev libboost-dev
  2. Install rapidjson to /usr/local/ like this: From the Chatterino2 root folder: sudo cp -r lib/rapidjson/include/rapidjson /usr/local/include. If you want to install it to another place, you have to make sure it's in the chatterino.pro include path
  3. open chatterino.pro with QT Creator and build

Arch Linux

install chatterino2-git from the aur or build manually as follows:

  1. sudo pacman -S qt5-base qt5-multimedia qt5-svg gst-plugins-ugly gst-plugins-good boost rapidjson
  2. go into project directory
  3. create build folder mkdir build && cd build
  4. qmake .. && make

Mac OSX

  1. install Xcode and Xcode Command Line Utilites
  2. start Xcode, settings -> Locations, activate your Command Line Tools
  3. install Qt Creator
  4. install brew https://brew.sh/
  5. brew install boost openssl rapidjson
  6. build the project using Qt Creator

If the Project does not build at this point, you might need to add additional Paths/Libs, because brew does not install openssl and boost in the common path. You can get their path using

brew info openssl brew info boost

The lines which you need to add to your project file should look similar to this

INCLUDEPATH += /usr/local/opt/openssl/include
LIBS += -L/usr/local/opt/openssl/lib

INCLUDEPATH += "/usr/local/Cellar/boost/1.67.0_1/include"
LIBS += -L"/usr/local/Cellar/boost/1.67.0_1/lib"

Test 1