Commit graph

719 commits

Author SHA1 Message Date
Seth Flynn e9fab9ada3
build(cmake): avoid re-defining _FORTIFY_SOURCE
Previously, applying this to anything except the default `Debug` build
configuration opened us up to issues with packaging systems (i.e.,
Arch's `makepkg` and Flatpak) who already define this OOTB. Specifically
matching the configurations we want to apply this to and checking if this
is applied globally by `$CFLAGS` or similar should prevent this
re-definition, restoring the behavior from before 8477cc4 and 5d0eeae

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2026-03-21 15:41:09 -04:00
DioEgizio 5d0eeae04c fix: only enable fortify on optimized builds
also enables optimization and enables LTO on relwithdebinfo

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2026-03-20 16:38:15 +01:00
Seth Flynn 1ce90fa6c0
build: use app id for mime package name (#5205) 2026-03-18 05:28:01 +00:00
Seth Flynn 877832c713
Use clang-tidy in CMake and CI (#5051) 2026-03-18 03:40:12 +00:00
Seth Flynn 8477cc4cd6
build(cmake): refactor global c/cxx build flags
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2026-03-17 20:52:34 -04:00
Seth Flynn e8a7e2ebb5
build: use app id for mime package name
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2026-03-17 18:35:11 -04:00
Octol1ttle 0e732bf499
dehardcode branding in Linux manual and Windows app info
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-03-17 20:25:16 +05:00
Seth Flynn 25387c5b6c
build(cmake): add support for clang-tidy
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2026-03-16 21:54:39 -04:00
Alexandru Ionut Tripon 6d5a3278cc
Open correct wiki URL when opened from main window (#5130) 2026-03-09 20:11:11 +00:00
Alexandru Ionut Tripon 0a3953524a
change(CMakeLists.txt): dehardcode launcher name (#5142) 2026-03-09 20:05:56 +00:00
mctaylors 7c5d54f8aa
change(CMakeLists.txt): dehardcode launcher name
Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2026-03-08 19:07:30 +03:00
Octol1ttle 979973b313
fix: open correct wiki URL when opened from the Help *menu*
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-03-04 22:16:48 +05:00
Octol1ttle 94da1308ac
Refactor warning enabling, enable warnings-as-errors
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-02-26 17:49:11 +05:00
DioEgizio 61c13655d3 fix: disable qt debug in every non-debug build
without this change it was still enabled in RelWithDebInfo

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2026-02-13 18:11:55 +01:00
Rachel Powers d888ecaf11
fix: turn off debug assert in release builds
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2026-02-03 17:18:47 -07:00
Seth Flynn 2c6ce2fd8c
bump qt warning levels (#4928) 2026-01-31 22:20:20 -05:00
Trial97 5232ebe989
bump qt warninig levels
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-02-01 00:22:23 +02:00
Trial97 399c6c80ed
bump to 11.0.0
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-01-31 23:20:16 +02:00
Alexandru Ionut Tripon fda9e74972
Remove systeminfo; move getSystemRam into SysInfo.h (#4323) 2026-01-31 20:24:40 +02:00
DioEgizio b1857508f7 chore: update to Qt 6.10.2 on windows and linux appimage/portable
also switches codeql to build on Qt 6.4.3, to make sure prism still builds on the oldest version we still wanna support.
for this reason, codeql also now runs tests (to see if they don't fail on 6.4.3). While doing this I also noticed our qt requirement is 6.4, as we use Qt::Literals::StringLiterals

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2026-01-30 17:38:30 +01:00
Octol1ttle f0a17d82d9
refactor: FMLLibrariesTask -> LegacyFMLLibrariesTask
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-27 19:24:13 +05:00
Seth Flynn fd91f87c21
style: re-format tree with editorconfig
```
find $PWD \
  -type f \
  ! -path '*/.git/*' ! -path '*/flatpak/shared-modules/*' \
  ! -path '*/libraries/*' ! -path '*/testdata/*' ! -name '*.patch' \
  ! -name '*.svg' ! -name '*.scd' ! -path '*/program_info/LICENSE' \
  ! -path '*/COPYING.md' ! -path '*/cmake/*' ! -name '.gitmodules' \
  -exec eclint -fix {} \;
```

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2026-01-18 15:48:07 -05:00
TheKodeToad 3a16cf3081
Allow toggling pre-compiled headers
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-14 16:20:26 +00:00
TheKodeToad cbe77872fa
Bump to 10.0.2 (#4713)
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-09 15:57:24 -07:00
TheKodeToad ea7122b641
Bump to 10.0.1
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2026-01-06 17:49:45 +00:00
Octol1ttle abd482db4a
change(program_info): unhardcode brand from macOS bundle GUI identifier
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2026-01-06 16:54:46 +05:00
Alexandru Ionut Tripon 993da92199
feat: Use precompiled headers for 130-180% speedup (#4494) 2025-12-26 23:41:37 +02:00
Octol1ttle 1fdc33669b
CMakeLists: fix ASan compile options
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2025-12-26 19:57:44 +05:00
Seth Flynn d85ff94f03
build(mingw): use dwarf debug info
As it turns out, LLDB can load Windows crash dumps!

This allows us go back to the regular (better supported) DWARF debuginfo
format used by MinGW, as now we have a tool that can both parse those
symbols *and* Windows' crash dumps. The biggest advantage here is that
once again, MinGW crash dumps can be easily inspected on Linux

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-22 09:53:42 -05:00
Seth Flynn 85849fea41
fix(build): handle CMAKE_BUILD_TYPE with generator expressions
Since we've started using ninja's multi-config generator, evaluating
CMAKE_BUILD_TYPE at configure-time is no longer reliable. Thankfully,
CMake offers "generator expressions" that are evaluated during build
system generation, which allows us to continue using these conditional
flags without much headache

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-12-22 03:21:10 -05:00
Alexandru Ionut Tripon d1df515bcc
Updated App icon for macOS 26 (#4160) 2025-12-19 10:37:25 +02:00
DioEgizio 9aa1a4d11b fix: actually fix toml++ on fedora
oops

Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2025-12-16 08:44:56 +01:00
Rachel Powers e53093c4b4
feat: Use pre-compiled headers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2025-12-14 21:15:23 -07:00
Richard Voigtmann e7f801c4c4
Add suggestion from code review
Co-authored-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
Signed-off-by: Richard Voigtmann <71901885+ShadowPaint-SP@users.noreply.github.com>
2025-12-14 11:07:19 +01:00
Richard Voigtmann e46b0335ab xCode version check
Signed-off-by: Richard Voigtmann <richard.v.voigtmann@gmail.com>
2025-12-14 09:46:53 +01:00
Richard Voigtmann e125f4767f removed unnecessary Option from actool command and failsafe attempt for older versions
Signed-off-by: Richard Voigtmann <richard.v.voigtmann@gmail.com>
2025-12-14 02:14:27 +01:00
Richard Voigtmann d53b785a1c implemented recommended changes -reverted .icns file instellation
Signed-off-by: Richard Voigtmann <richard.v.voigtmann@gmail.com>
2025-12-12 16:12:00 +01:00
Richard Voigtmann a7dd3aeaab replaced binary with in ci building of Icons
Signed-off-by: Richard Voigtmann <richard.v.voigtmann@gmail.com>
2025-12-11 11:58:11 +01:00
TheKodeToad 283d49ba35
Merge remote-tracking branch 'upstream/develop' into desysteminfo
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-12-07 11:58:21 +00:00
DioEgizio 5532976ea7 fix: Add back fallback to pkgconfig for tomlplusplus
fixes a regression in #4405
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2025-12-01 21:47:18 +01:00
Seth Flynn 0704027e6c
build: install 256x256 png icons
This is required by `go-appimage` - and apparently(?) a requirement by
XDG, with SVGs being optional

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-29 11:09:24 -05:00
Seth Flynn 5c8b18098f
Remove in-tree third party dependencies (#4405) 2025-11-28 07:59:20 -05:00
Seth Flynn 38afa3a94c
build: remove vendored gamemode code
Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-28 04:02:08 -05:00
Seth Flynn e2c31569dc
build: remove third party submodules
Most of these are extremely common in distributions now, so packagers
don't have much need for our in-tree versions - most don't even use them
as is

With our move to vcpkg for Windows/macOS, we also don't have a need for
them. So time to say goodbye!

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-28 04:01:59 -05:00
Seth Flynn 5cb09d6ae8
De-vendor Qt and ECM CMake files (#4404) 2025-11-27 19:01:21 -05:00
Seth Flynn dc774aa424
build(cmake): remove Launcher_FORCE_BUNDLED_LIBS option
As we won't be providing "bundled" libraries anymore, this option is
basically pointless

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-27 16:51:16 -05:00
Seth Flynn 690a61a9e0
build(cmake): de-vendor versionless qt commands
These are already shipped in all versions of Qt 6

Signed-off-by: Seth Flynn <getchoo@tuta.io>
2025-11-27 15:54:29 -05:00
Trial97 074846d72a
remove qt5compat
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-27 22:37:31 +02:00
Trial97 c456e35e41
build(cmake): better detect libarchive
Co-authored-by: Octol1ttle <l1ttleofficial@outlook.com>
Co-authored-by: Seth Flynn <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
Signed-off-by: Seth Flynn <getchoo@tuta.io>
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:57 +02:00
Trial97 8cace06df9
move libarchive outside bundle libs
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-26 18:41:22 +02:00