Chat client for https://twitch.tv
Find a file
nerix 86e71c8bd9
Migrate to C++ 20 & switch to websocketpp develop branch (#4252)
* feat: c++ 20

* fix: c++ 20 deprecations

* fix(msvc): warnings

* chore: add changelog entry

* fix: formatting

* Update websocketpp to the `develop` branch

* Specify other template type in FlagsEnum != operator

* Remove the user of simple template ids in our websocketpp template class

Also standardizes the file a bit by using nested namespaces, using
pragma once

* fix: turn `MAGIC_MESSAGE_SUFFIX` into a `QString`

* hacky unhacky hacky const char hack

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-12-24 11:56:11 +00:00
.CI Switch to ncipollo/release-action for generating our Nightly releases (#4125) 2022-11-08 22:07:44 +00:00
.github Retry tests 3 times to lessen chance of complete job failure due to flaky tests (#4241) 2022-12-18 13:53:17 +01:00
benchmarks Rewrite & optimize LimitedQueue (#3798) 2022-06-18 10:44:48 +00:00
cmake Fix Linux CMake build for old installs (#4167) 2022-11-20 12:26:28 +01:00
docs Release v2.4.0 (#4200) 2022-11-28 21:12:06 +01:00
lib Migrate to C++ 20 & switch to websocketpp develop branch (#4252) 2022-12-24 11:56:11 +00:00
resources Release v2.4.0 (#4200) 2022-11-28 21:12:06 +01:00
src Migrate to C++ 20 & switch to websocketpp develop branch (#4252) 2022-12-24 11:56:11 +00:00
tests Sort and force grouping of includes (#4172) 2022-11-27 19:32:53 +01:00
tools Sort and force grouping of includes (#4172) 2022-11-27 19:32:53 +01:00
.cirrus.yml Update qtkeychain to e5b070831cf1ea3cb98c95f97fcb7439f8d79bd6 (#4250) 2022-12-20 23:09:07 +01:00
.clang-tidy Disable llvm-include-order clang-tidy check (#4244) 2022-12-18 15:57:05 +00:00
.gitattributes Add .gitattributes file to normalize line endings 2019-09-08 22:01:12 +02:00
.gitignore 🔨 Automatically generate resources files with cmake (#4159) 2022-11-19 12:29:12 +01:00
.gitmodules Build GoogleTest & GoogleMock as submodules (#3760) 2022-05-22 15:43:41 +02:00
.prettierignore Add custom hotkeys. (#2340) 2021-11-21 17:46:21 +00:00
.prettierrc.toml Add lint github action (#2473) 2021-02-21 14:45:42 +01:00
BUILDING_ON_FREEBSD.md Remove official support for QMake (#3839) 2022-07-23 14:04:29 +02:00
BUILDING_ON_LINUX.md Copied and adjusted BUILDING_ON_LINUX.md from SevenTV (#4085) 2022-10-28 10:17:51 +00:00
BUILDING_ON_MAC.md Remove official support for QMake (#3839) 2022-07-23 14:04:29 +02:00
BUILDING_ON_WINDOWS.md docs: add documentation for AddressSanitizer on MSVC (#4161) 2022-11-18 17:32:50 +00:00
BUILDING_ON_WINDOWS_WITH_VCPKG.md Add guide for building chatterino2 on Windows with vcpkg (#3634) 2022-05-15 15:57:31 +00:00
CHANGELOG.md Migrate to C++ 20 & switch to websocketpp develop branch (#4252) 2022-12-24 11:56:11 +00:00
CMakeLists.txt Migrate to C++ 20 & switch to websocketpp develop branch (#4252) 2022-12-24 11:56:11 +00:00
conanfile.txt deps[conan]: update openssl and boost on Windows (#4100) 2022-11-03 08:21:32 +00:00
CONTRIBUTING.md Update Conventions examples in Contributing.md (#3538) 2022-01-22 19:36:53 +00:00
LICENSE Add LICENSE file (#130) 2017-10-13 21:57:43 +02:00
README.md Bump suggested clang-format version to 15.0.5 (#4210) 2022-12-02 21:12:11 +01:00
vcpkg.json chore: update vcpkg baseline (#4126) 2022-11-09 11:35:48 +01:00

alt text Chatterino 2 GitHub Actions Build (Windows, Ubuntu, MacOS) Cirrus CI Build (FreeBSD only) Chocolatey Package Flatpak Package

Chatterino 2 is a chat client for Twitch.tv. The Chatterino 2 wiki can be found here. Contribution guidelines can be found here.

Download

Current releases are available at https://chatterino.com. Windows users can also install Chatterino from Chocolatey.

Nightly build

You can download the latest Chatterino 2 build over here

You might also need to install the VC++ Redistributables from Microsoft if you do not have it installed already.
If you still receive an error about MSVCR120.dll missing, then you should install the VC++ 2013 Restributable.

Building

To get source code with required submodules run:

git clone --recurse-submodules https://github.com/Chatterino/chatterino2.git

or

git clone https://github.com/Chatterino/chatterino2.git
cd chatterino2
git submodule update --init --recursive

Building on Windows

Building on Windows with vcpkg

Building on Linux

Building on Mac

Building on FreeBSD

Code style

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

Get it automated with QT Creator + Beautifier + Clang Format

  1. Download LLVM: https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.5/LLVM-15.0.5-win64.exe
  2. During the installation, make sure to add it to your path
  3. In QT Creator, select Help > About Plugins > C++ > Beautifier to enable the plugin
  4. Restart QT Creator
  5. Select Tools > Options > Beautifier
  6. Under General select Tool: ClangFormat and enable Automatic Formatting on File Save
  7. Under Clang Format select Use predefined style: File and Fallback style: None

Qt creator should now format the documents when saving it.

Doxygen

Doxygen is used to generate project information daily and is available here.