Commit graph

62 commits

Author SHA1 Message Date
nerix
25add89b14
feat: Add crash recovery on Windows (#5012) 2023-12-24 15:38:58 +01:00
kornes
b3ed3285ee
feat: Add VERSIONINFO resource for windows (#4912) 2023-11-03 18:19:50 +01:00
nerix
fcb6eff8cc
Remove direct dependency on Qt 5 compatibility module (#4906) 2023-10-23 21:28:02 +02:00
dependabot[bot]
cbc2d3d683
Bump lib/WinToast from 5e441fd to 821c481 (#4894)
This also changes the build method from a custom FindPackage solution to using their cmake file

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
Co-authored-by: nerix <nero.9@hotmail.de>
2023-10-13 18:49:12 +02:00
pajlada
63b53656b1
Fix LTO support (#4884)
Apparently the `check_ipo_supported` flag must be called after `project` is called
2023-10-10 11:41:09 +00:00
kornes
ab4a0c054a
Update vcpkg to Qt6 (#4872)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-10-07 09:09:58 +00:00
Christian
5d5d265ae0
Add cmake flag to use system-provided miniaudio (#4867)
Example usage: `cmake -DUSE_SYSTEM_MINIAUDIO=ON ..`
2023-10-04 13:38:53 +00:00
Patrick Klein
5b17ae3f7e
Implement compile-time flag to disable automatic update checks. (#4854)
Usage: `cmake -DCHATTERINO_UPDATER=OFF ..`

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2023-10-02 11:43:20 +02:00
pajlada
467e36767c
Update Nightly to 2.4.6 and get qt6-related-changes from 2.4.6 (#4856)
* Update Nightly to 2.4.6 and get qt6-related-changes from 2.4.6

* always enable precompiled headers on windows
2023-10-01 11:19:26 +02:00
pajlada
877a4e05fa
Remove boost::noncopyable use & boost::random dependency (#4776)
The use has been removed from the following files:
* Atomic.hpp
* SignalVector.hpp
* Benchmark.hpp
* IvrApi
* LoggingChannel.hpp
* Singleton.hpp
* Image.hpp
* PrecompiledHeader.hpp
* Message.hpp
* MessageElement.hpp
* MessageLayout.hpp
* MessageLayoutElement.hpp
* Fonts.hpp (just include)
2023-09-09 10:23:20 +00:00
pajlada
05a72d335a
Release v2.4.5 (#4787)
* Update documentation for Ubuntu PPA & appdata.xml updates
2023-08-26 12:33:01 +02:00
pajlada
d2f1516818
Fix crash that could occur if closing the usercard quickly after blocking (#4711)
* Specifically, this adds a caller to the network request, which makes the
success or failure callback not fire.
This has the unintended consequence of the block list not reloading if
the usercard is closed, but it's not a big concern.

* Add unrelated `-DUSE_ALTERNATE_LINKER` cmake option

From 0517d99b46/CMakeLists.txt (L87-L103)
2023-07-01 12:01:47 +00:00
nerix
b9934a4532
Refactor tests and benchmarks (#4700) 2023-06-24 15:03:27 +02:00
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