Commit graph

49 commits

Author SHA1 Message Date
nerix 4b40b9a310
Define Git and date constants in executables only (#4681) 2023-06-17 19:43:39 +02:00
pajlada 2d3d3ae46e
Make sanitizers truly optional (#4689) 2023-06-17 15:01:16 +00:00
nerix a045d3ee81
Use sccache on Windows (#4678)
* build: support sccache and windows
2023-06-11 10:31:04 +00:00
pajlada e1a6c24cf3
Move mocks to their own interface (#4645) 2023-05-20 10:54:50 +00:00
pajlada 29a146278c
Release v2.4.4 (#4631) 2023-05-13 10:12:26 -04:00
pajlada 379cc5761c
Release v2.4.3 (#4584) 2023-05-01 14:48:24 +02:00
pajlada c8e1741e47
Remove CHATTERINO_TEST definition (#4526) 2023-04-09 12:18:56 +02:00
Mm2PL 5ba809804e
Add basic lua scripting capabilities (#4341)
The scripting capabilities is locked behind a cmake flag, and is not enabled by default.

Co-authored-by: nerix <nerixdev@outlook.de>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-02 15:31:53 +02:00
Felanbird c8204ef7e4
Release v2.4.2 (#4433)
* Update `CMakeLists.txt`

* Update `resources/com.chatterino.chatterino.appdata.xml`

* Update `src/common/Version.hpp`

* Update `CHANGELOG.md`

This includes changelog re-ordering changes that would normally be in a seperate PR, but this release will be an exception to that rule
2023-03-06 09:13:25 +01:00
pajlada c95a65c153
Fix Qt6 building (#4393) 2023-02-19 20:19:18 +01:00
pajlada 5ed4a21d6a
Release v2.4.1 (#4390) 2023-02-19 12:14:54 +01:00
nerix e377c30192
Add Crashpad Support on Windows (#4351)
* feat: crashpad on windows

* feat: inline it

* feat: more crashpad

* chore: remove qBreakpad

* fix: add mention to crashpad

* refactor: version string

* feat: add crashpad module

* refactor: build crashpad from source

* fix: minor adjustments

* chore: add changelog entry

* fix: formatting and include

* fix: format

* build: use flags similar to release profile

* ci: build with crashpad on windows

* ci: recurse submodules

* ci: always include crashpad

* fix: try 7z

for some reason zstd just doesn't run

* fix: wrong path for symbols

* fix: copy

pls don't build

* ci: use new cache key

* fix: missing pragma

* ci: add workflow without crashpad

* docs: elevate changelog entry

* fix: add link to cmake issue

* fix: windows include issue

Someone (crashpad) includes Windows.h before winsock2.h

* fix: working directory

* fix: another working directory
2023-02-12 20:36:58 +01:00
Wissididom 2a071a7067
Remove Qt::Multimedia as a dependency from CMakeLists.txt (#4339)
* Remove Multimedia required in find_package

* Remove Multimedia from src/CMakeLists.txt
2023-01-29 15:28:01 +00:00
nerix b80d41c327
Use CMakeDeps and CMakeToolchain as Generators on Conan (#4335)
* deps(conan): use `CMakeDeps` as generator

* chore: add changelog entry

* deps(conan): add `CMakeToolchain` generator

* fix: use generated toolchain file

* docs: mention toolchain as well

* fix: spelling

* fix: formatting

* revert: use nmake

* docs: fix documentation
2023-01-29 13:10:39 +00:00
pajlada 6a4f0befd4
Disable translation building (#4336) 2023-01-29 11:12:49 +00:00
pajlada 18cb4bd6e5
Massage includes some more (#4294)
* Add `<functional>` include to QStringHash.hpp

This ensures the base `std::hash` template is declared before this
specialization

* Add missing includes to `src/providers/twitch/TwitchAccountManager.hpp`

* Move explicit HelixChatters constructor to the source file

* Remove unused includes & add used includes to NicknamesModel.hpp

* NicknamesModel.hpp: Remove `virtual` when `override` is used

* Add missing QStringHash include to TwitchEmotes.cpp

* Add missing includes to various files

* Print Qt version in cmake step

Technically unrelated, but I'm sneaking it in

* Add changelog entry
2023-01-08 12:07:06 +00:00
pajlada cce1fd58f2
Disable LTO by default (#4260) 2022-12-24 19:06:52 +00:00
pajlada 83dfb08aed
Enable LTO support for Chatterino builds (#4258)
This is disabled by default, and can be enabled by passing `-DCHATTERINO_LTO=On` to your cmake invocation.
2022-12-24 18:42:59 +01:00
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
pajlada 2ba4da02ae
Update qtkeychain to e5b070831cf1ea3cb98c95f97fcb7439f8d79bd6 (#4250)
* Update qtkeychain to `e5b070831cf1ea3cb98c95f97fcb7439f8d79bd6`

* FreeBSD/Cirrus - use system qtkeychain - this ensures we don't have to install pkg-config to get libsecret built

* Set BUILD_SHARED_LIBS to OFF globally - this resolves the libcommuni build issue
2022-12-20 23:09:07 +01:00
fourtf 82797898c1 bump to 2.4.0-beta 2022-11-20 20:51:30 +01:00
Edgar 9f5477c433
🔨 Automatically generate resources files with cmake (#4159)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Fixes https://github.com/Chatterino/chatterino2/issues/3949
2022-11-19 12:29:12 +01:00
pajlada aac9ea53d0
Harden emote parsing (#3885) 2022-11-05 10:04:35 +00:00
nerix 2deed8e1cb
fix: set gtest_force_shared_crt in tests (#4033) 2022-10-01 18:46:59 +00:00
Mm2PL 044dd8a616
Remove official support for QMake (#3839)
* delet chatterino.pro

* Update documentation

* Update Github Actions config

* Update Cirrus CI config

* Attempt to fix Cirrus CI

* Add changelog entry

* Delete tools/update_filelist.py

It was a QMake-only script? Maybe will need revert + change to CMake or something?

* fix?

* Fuck this linter

* Attempt to clean up build.yml a little

* Add cmaake to install list, remove step for qmake PATH

* Change list entries to always use 1.

Sneaky unrelated change

* These are no longer tests!

* FUCK YOU PRETTIER

* Make BUILDING_ON_LINUX.md simpler

* Get rid of Jenkins

* Get rid of travis

* Remove dupes

* Remove appveyor

* Remove qmake from conanfile

* Try removing explicit qmake path

* Nothing uses the qt style plugins installer anymore

* Update manual linux building instructions

* Update freebsd compilation instructions with a copy paste from the linux instructions

* Remove unused docker files

* Remove linux breakpad build script as it's unused

* Update changelog entry phrasing

* Lint build markdown files

* Change top changelog entry to not be confused as a link

* Skip QtCreator conan setup if conan is disabled

This reduces the amount of warnings & errors Windows users get with
QtCreator

* lint building on linux file

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-07-23 14:04:29 +02:00
pajlada ec4b1627d7
Build GoogleTest & GoogleMock as submodules (#3760) 2022-05-22 15:43:41 +02:00
Ian addcbb10f9
Add guide for building chatterino2 on Windows with vcpkg (#3634) 2022-05-15 15:57:31 +00:00
nerix f97780d84e
Improve Twitch PubSub connection reliability (#3643)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-05-07 15:22:39 +00:00
fourtf 33ed195c19
set version number to 2.3.5 for cmake 2022-03-27 22:43:10 +02:00
fourtf 3868fbc9d9
2.3.5-beta1 2022-03-27 22:31:09 +02:00
fourtf e8b0257397
2.3.5-beta 2022-03-27 22:18:04 +02:00
Mm2PL fc4387014e
Allow for building without QtKeychain (#3318)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-10-31 19:45:23 +00:00
pajlada d0f817a60b
Add basic benchmark (#3038)
* Add basic benchmark

* Add basic documentation for how to run and add tests/benchmarks

* Update benchmark example output

* Add changelog entry

Co-authored-by: zneix <zneix@zneix.eu>
2021-08-08 14:16:30 +02:00
Paweł d0d32583a2
Prepare CMake for Qt6 (#3103) 2021-08-08 12:37:37 +02:00
fourtf 4e5170799f updated version number to v2.3.4 2021-08-05 10:44:30 +02:00
fourtf 97b9bfb2bd v2.3.3 2021-06-21 11:35:53 +02:00
pajlada 91b0170241
Make tests use main chatterino project objects (#2840) 2021-06-13 11:49:59 +00:00
fourtf 80506a8625 v2.3.2 2021-05-16 19:29:27 +02:00
pajlada 2f49b23875
Add ability to disable precompiled headers with CMake (#2727) 2021-05-08 15:57:00 +02:00
fourtf cf33566fd7 v2.3.1 2021-05-03 20:31:04 +02:00
pajlada 49e38a2b6c
Update chatterino version in CMakeLists.txt (#2680) 2021-04-24 13:47:06 +00:00
pajlada 208d017cc3
Add sanitizers for cmake (#2608)
These can be enabled using the `SANITIZE_{ADDRESS,MEMORY,THREAD,UNDEFINED}` cmake flags
2021-04-10 11:26:20 +00:00
pajlada e00938dfde
Add support for CMake (buildsystem generator) (#2468)
Co-authored-by: Edgar <Edgar@AnotherFoxGuy.com>
2021-03-28 16:58:51 +02:00
pajlada 6b0ce396d6
Update to Emoji v13 (2020) (#1555) 2021-02-13 19:17:22 +01:00
pajlada 75b1ef06e2
Run tests in CI (#2310) 2020-12-26 23:40:47 +01:00
pajlada 0e66b17ff0
Add Network tests (#2304)
Also changes the way timeouts happen, since right now if a timeout was met (which it mostly wasn't), it would run the error callback twice causing potentially undefined behaviour
2020-12-26 12:42:39 +01:00
fanway 38966e2b19
Add option for truecase username autocompletion (#1883)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2020-12-20 16:43:35 +01:00
pajlada 0cbddf7e9b
Fix/be respectful of special characters like exclamation marks in highlight phrases since they are also word boundaries (#1890)
* Add missing includes

We would normally have these included in another file already, or even
the precompiled headers, but having the files included here too makes
testing single parts easier.

* Modify the regex building of highlight phrases for non-regex phrases

For phrases like !test, the word boundary checking we did before was not
enough, so we now check for either a word boundary, a whitespace
character, or the line start/end.

* Add tests for ensuring I haven't fully broken the highlight system

* Add changelog entry
2020-08-22 15:37:03 +02:00
Rasmus Karlsson cbd93f9537 Add tests for the UsernameSet and Prefix classes
How to build test:
mkdir build_test
cd build_test
cmake -DBUILD_TESTS=ON ..
make -j
Then to run the tests, use either:
make test
ctest
./chatterino-test
2019-05-11 14:17:52 +02:00