127 Commits

Author SHA1 Message Date
Stenzek 22ee4c0760 CMake: Build with immediate binding/full relro
Doing a full xsave/xrstor the first time a library function is
called is completely bonkers. Plus the obvious security issues
with the PLT being writable.

And people think this OS is faster than Windows. Even with immediate
binding it's still slower, since it's a single indirect call on
Windows, versus a direct call+indirect jump here.
2026-06-02 21:36:04 +10:00
Stenzek 2307ad9b0f CMake: Drop Win32/MSVC specific paths. Use MSBuild.
This was never supported, and hasn't been updated in a while anyway.
2026-05-23 11:57:13 +10:00
Stenzek e1f824a507 CMake: Remove unnecessary warning disables 2026-02-25 16:21:38 +10:00
Stenzek 9630464e37 CMake: Remove pointless flags change
Wasn't specified in the user flags anyway.
2026-02-01 02:41:32 +10:00
Stenzek b20c2b281f Common: Add additional unit tests
And fix several logical errors.
2026-02-01 02:41:32 +10:00
Stenzek 4c79ee82ac CMake: Adjust fmt build macros
Set on the library, not globally.
2025-12-31 17:30:04 +10:00
Stenzek d7c015aefb MSBuild: Fix non-reproducible path sneaking into binary 2025-12-21 14:00:42 +10:00
Stenzek 4c97badb07 CMake: Fix Windows build
But you shouldn't be using it.
2025-12-20 21:58:21 +10:00
Stenzek de08a2fff5 CMake: Only remap source path in Release builds
Don't make debugging painful.
2025-10-29 21:06:36 +10:00
Stenzek 6126209a25 CMake: Remove Flatpak specific commands
Also no longer needed.
2025-09-13 16:52:42 +10:00
Stenzek ca504bd0ed CMake: Set -fmacro-prefix-map and -ffile-prefix-map 2025-09-06 13:37:12 +10:00
Stenzek 351f67a227 CMake: Use -g1 for Release builds 2025-07-27 13:03:55 +10:00
Stenzek 36718c6e99 CMake: Force debug symbols on Linux
Fixes crash backtraces.
2025-07-27 02:15:49 +10:00
Stenzek 83d521f3d8 CMake: Drop Flatpak workarounds
No longer needed since it is using self-contained.
2025-07-26 17:36:50 +10:00
Stenzek 51ce5351d7 CI: Pin AppImageTool version
If it breaks something, I kinda don't care. Not worth it for 2% of
users..
2025-07-21 18:51:34 +10:00
Stenzek 455836af89 CMake: Check C++20 features that are missing on some systems 2025-02-03 00:30:59 +10:00
Stenzek 0faa9cf650 Build: Add Devel configuration
Gets you debug assertions and logging, while still producing an
optimized executable.
2024-12-01 23:21:33 +10:00
Stenzek d67b826033 CI/Flatpak: Improve install behaviour
Use "standard" install path.
2024-09-23 19:21:14 +10:00
Stenzek 128d5254ca MSBuild: Disable RTTI on Windows builds
It's not used.
2024-09-09 19:22:41 +10:00
Stenzek 41fb5d3d9a CMake: Enable PIC on Linux
Otherwise ASLR does not work. Also stops LTO builds crashing in the
middle of Qt on Fedora.
2024-08-24 18:32:28 +10:00
Stenzek 88ace6e4ae CMake: Detect cache line size dynamically on AArch64 Linux 2024-05-15 00:50:24 +10:00
Stenzek 8867bb129a CMake: Tidy up build system
And fix Windows CMake... who knows how long for.
2024-04-20 21:19:31 +10:00
Stenzek 164062f80d Build: Use C++20 for everything except reshadefx 2024-04-11 13:46:25 +10:00
Stenzek 4a70164dac CMake: Determine host page size at build time
Needed for running on Asahi Linux.
2024-02-25 20:30:41 +10:00
Stenzek 143fb0876d dep/glad: Update to v2.0.5 2024-02-25 20:30:41 +10:00
Stenzek c2c3eac749 Build: Use shared webp/zstd/zlib 2024-02-03 19:41:56 +10:00
Stenzek 8206b2b74a CMake: RISC-V build fixes 2023-12-21 01:01:04 +10:00
Stenzek 7fbf40a9fc MSBuild: Purge 32-bit targets
This has never been supported.
2023-12-19 22:38:35 +10:00
Stenzek 7cc52bba23 CMake: Support multiple CMAKE_OSX_ARCHITECTURES 2023-11-25 00:50:12 +10:00
Stenzek 1d0c870494 CMake: Bump dep version requirement 2023-11-18 17:17:29 +10:00
Stenzek 0e2c6676a3 Build: Compiling x64 builds on Apple Silicon host 2023-11-04 20:11:51 +10:00
Stenzek b3cbe5a7ee CPU/NewRec: Add AArch32 backend 2023-10-21 20:22:51 +10:00
Stenzek 9501439d6b CPU: Add new experimental recompiler 2023-10-18 00:49:01 +10:00
Stenzek da1c28bd16 Misc: Fix arm32 build 2023-10-02 23:59:01 +10:00
Stenzek e6bfcf22d9 CMake: Disable warnings on third-party projects 2023-09-30 15:41:38 +10:00
Stenzek 90d0029c34 Build: Unify Flatpak manifests 2023-09-30 13:34:08 +10:00
Stenzek a45b50c3e9 Build: Add additional Flatpak build scripts 2023-09-29 02:30:54 +10:00
Stenzek c8dc8849ea Build: Ensure exceptions are off for fmt 2023-09-23 22:21:50 +10:00
Stenzek 68b59ee748 CMake: Swap USE_ and WITH_ for ENABLE_
Consistency.
2023-09-17 12:36:52 +10:00
Stenzek a37e89b52f CMake: Remove unsupported options 2023-09-16 19:00:29 +10:00
Stenzek c773c763ef Achievements: Switch to rc_client 2023-09-16 19:00:29 +10:00
Stenzek b30c86ed75 Build: Improve MacOS support 2023-09-16 19:00:28 +10:00
Stenzek 58b4946fb9 Build: Switch to C++20 2023-09-05 21:37:04 +10:00
Stenzek 1ea0854c71 CMake: Enable EGL even if Wayland is disabled 2023-09-05 21:37:03 +10:00
Stenzek 7b068b976b CrashHandler: Use libbacktrace 2023-09-05 21:37:03 +10:00
Stenzek 59b70b6adb Build: Add Flatpak manifest and scripts 2023-09-02 21:44:08 +10:00
Stenzek ea68c5b4b5 Build: Use dependency package on Windows 2023-09-02 21:44:08 +10:00
Stenzek cee4f93097 Build: Use precompiled headers 2023-09-02 21:44:08 +10:00
Stenzek e108ca16ce Build: Use Qt 6.5.2 for macOS, drop libcurl
Also add qtimageformats.
2023-08-22 18:35:50 +10:00
Stenzek bf15d13eb7 dep/xbyak: Update to v6.73 2023-08-21 22:38:31 +10:00