Commit Graph

793 Commits

Author SHA1 Message Date
OatmealDome
a28fff3f00
Merge pull request #14224 from JoshuaVandaele/windows-mz-ng-fix
Externals: Fix clashing dependencies
2026-03-15 12:27:02 -04:00
Joshua Vandaële
c6411a2952
SDL: Use bundled LibUSB when desirable
Previously, SDL would `find_package(libusb)` which would actually overwrite the user preference in the case where both USE_SYSTEM_LIBUSB and USE_SYSTEM_SDL were OFF. This coincidentally also allows SDL to use libusb on Windows.
2026-02-25 07:26:10 +01:00
Joshua Vandaële
3cea68c2e5
LibUSB: Improve library detection
Our FindLibUSB.cmake was previously entirely unused unless SDL was being built from Externals, we now rely on it again. It will use PkgConfig if applicable or fall back to looking around on the system, and more importantly it will always create an imported target.
2026-02-25 07:25:29 +01:00
Joshua Vandaële
4af06fd487
minizip-ng: Properly use libraries from Externals
This also fixes the CMake build on Windows, since it would fail to find our target defined in Externals and would fall back to trying to redefine it, which produces an error.
2026-02-25 07:25:29 +01:00
JosJuice
36f45dce44 Move RangeSet from Externals to Common
This is a very small libary, and as I understand it, it was more or less
developed for Dolphin.

This moves the two relevant files from Externals to Common, changes the
namespace to Common, reformats the code, and adds Dolphin copyright
notices. The change in copyright notice and license was approved by
AdmiralCurtiss.
2026-02-23 22:55:38 +01:00
OatmealDome
164110d370
Merge pull request #14036 from TellowKrinkle/SkipPostprocess
CMake: Default SKIP_POSTPROCESS_BUNDLE to ON
2026-01-25 22:01:29 -05:00
OatmealDome
74ff1f76c5
Merge pull request #14299 from SuperSamus/cmake-ipo-modern
CMakeLists: Use `CMAKE_INTERPROCEDURAL_OPTIMIZATION` for LTO
2026-01-25 22:00:14 -05:00
Dentomologist
1b6a45df69
Merge pull request #14214 from JoshuaVandaele/cmake-nonbreaking-improvements
CMake: Various improvements
2026-01-25 18:33:46 -08:00
Martino Fontana
eec35a214d CMakeLists: Use CMAKE_INTERPROCEDURAL_OPTIMIZATION for LTO
Just a simple modernization. LTO is still disabled by default.
2026-01-23 17:56:06 +01:00
Joshua Vandaële
67f27cb0ef
Make WIL a submodule and update it 2026-01-21 19:51:45 +01:00
Joshua Vandaële
e822cc3715
c++23: Replace Common::Unreachable with std::unreachable
Requires at least GCC 12, Clang 15, MSVC 19.32, or AppleClang 14.0.3.
2026-01-17 23:53:21 +01:00
iwubcode
b556bd99d7
Merge pull request #14268 from JoshuaVandaele/std-tounderlying
c++23: Replace Common::ToUnderlying with std::to_underlying
2026-01-17 16:49:57 -06:00
JMC47
79a4034aa0
Merge pull request #14251 from JoshuaVandaele/cmake-editorconfig
.editorconfig: Update CMake style
2026-01-11 16:28:03 -05:00
JMC47
823d111922
Merge pull request #14255 from JoshuaVandaele/bsd-fix
cpp-ipc: Fix builds on non-FreeBSD BSDs
2026-01-11 16:27:29 -05:00
Joshua Vandaële
55f0715ad4
c++23: Replace Common::ToUnderlying with std::to_underlying
Requires at least GCC 11, Clang 13, MSVC 19.30 (VS2022 17.0), or AppleClang 13.1.6 (XCode 13.3).
2026-01-09 23:49:10 +01:00
Dentomologist
ba32260c29 Set CMake version range to 3.20...4.2.1
CMake support for c++23 was added in 3.20.

Remove statements explicitly setting the following policies to NEW.
These policies were introduced in or before 3.20, and now that 3.20 is
the minimum version they will automatically have the NEW behavior.

Policy:  Introduced in
CMP0079: 3.13
CMP0084: 3.14
CMP0091: 3.15
CMP0092: 3.15
CMP0099: 3.17
CMP0117: 3.20

Disable scanning c++ source files for module imports (introduced as
CMP0155 in 3.28) since we don't use modules and that policy triggers
build errors with Clang if the clang-scan-deps tool isn't installed.
2026-01-06 14:44:20 -08:00
Joshua Vandaële
2005b0365e
cpp-ipc: Fix builds on non-FreeBSD BSDs
cpp-ipc is explicitely only available on Windows, Linux, QNX, and FreeBSD. Trying to build dolphin on any another BSD such as OpenBSD or Haiku currently leads to failure because of this.
2026-01-06 21:46:33 +01:00
Joshua Vandaële
7f6bf67182
CMake: Apply editorconfig formatting 2026-01-04 12:59:56 +01:00
Jordan Woyak
d84dd20991
Merge pull request #14208 from cristian64/broadband_adapter_ipc_freebsd
Core/HW: Enable BBA (IPC) in FreeBSD.
2025-12-30 17:59:59 -06:00
Joshua Vandaële
ee8a27d13c
CMake: Better architecture detection 2025-12-11 04:23:04 +01:00
Joshua Vandaële
da22171c80
Build: Remove license.txt
Follow up to #10039 and #9862
2025-12-11 04:23:00 +01:00
cristian64
bd6ea9a9a1 Core/HW: Enable BBA (IPC) in FreeBSD.
Since v1.4.0, cpp-ipc now supports FreeBSD. This was a limitation that
prevented us from enabling compilation on FreeBSD in #13870.

Full changelog: https://github.com/mutouyun/cpp-ipc/releases/tag/v1.4.0
2025-12-10 21:26:43 +00:00
Joshua Vandaële
025ff87a27
Use minizip-ng's CMakeLists instead of relying on our own implementation
This is a carry over from back when we used `minizip` and had our own CMakeLists for it.
2025-11-27 00:18:31 +01:00
Jordan Woyak
6d5e8b9ed8 Externals: Update mGBA to latest master.
Co-authored-by: Joshua Vandaële <joshua@vandaele.software>
2025-11-13 17:03:31 -06:00
TellowKrinkle
1804608d2f CMake: Switch from SKIP_POSTPROCESS_BUNDLE to POSTPROCESS_BUNDLE 2025-11-09 22:35:16 -06:00
TellowKrinkle
143fac254e CMake: Allow both glslang 15 and 16 2025-11-08 02:32:47 -06:00
Jordan Woyak
1e144a7cfd CMakeLists: Fix build on Linux with CMake versions less than 3.25. 2025-11-06 02:41:55 -06:00
JosJuice
828e72d604
Merge pull request #14034 from JoshuaVandaele/byeprofile
JitRegister: Remove OProfile profiler
2025-11-01 10:05:11 +01:00
cristian64
a74e736d29 Core/HW: Add cpp-ipc subdirectory in main CMake file. 2025-10-28 18:50:58 +00:00
TellowKrinkle
a1bdc40245 CMake: Default SKIP_POSTPROCESS_BUNDLE to ON
Most users do not need it
2025-10-26 23:24:45 -05:00
Joshua Vandaële
713dfb41df
JitRegister: Remove OProfile profiler
OProfile is not used at all these days, most major distributions do not ship it anymore (Debian, Fedora, and Alpine to name the few I've checked) and following a discussion on Discord, nobody is apparently using it, most devs not even being aware of it. This removes an optional dependency from Dolphin.
2025-10-26 20:48:15 +01:00
TellowKrinkle
d404805b7f CMake: Fix bundled glslang 2025-10-24 22:58:22 -05:00
Admiral H. Curtiss
a2913abeb9
Merge pull request #14021 from jordan-woyak/cmake-CheckSymbolExists
CMakeLists: Add include(CheckSymbolExists).
2025-10-18 15:36:38 +02:00
JMC47
6f81811e32
Merge pull request #14007 from JoshuaVandaele/glslang-fix
CMakeLists: Fix compilation of glslang in cases where it hasn't been linked against SPIRV-Tools
2025-10-17 18:46:19 -04:00
Jordan Woyak
db0e7c6e58 CMakeLists: Add include(CheckSymbolExists). 2025-10-15 20:29:05 -05:00
Joshua Vandaële
37d6fe61ba
CMakeLists: Fix compilation of glslang in cases where it hasn't been linked against SPIRV-Tools 2025-10-13 01:52:24 +02:00
Joshua Vandaële
a8b40a218c
Externals: Update libiconv to 1.18
I also excluded libiconv from the Windows CMake builds since it's never used there
2025-09-29 21:52:58 +02:00
Joshua Vandaële
cdfb389509
Externals: Update glslang to 16.0.0 and allow using system glslang 2025-09-27 08:56:10 +02:00
JMC47
43aa7e9b96
Merge pull request #13694 from jordan-woyak/sdl3
Update to SDL3
2025-06-24 18:59:48 -04:00
Jordan Woyak
6da3f5f26a InputCommon: Update to use SDL3 and bump the SDL submodule in Externals to release-3.2.16. 2025-06-07 16:27:54 -05:00
iwubcode
8113399b68 Externals: add watcher, a library used to watch a filesystem location for changes 2025-06-06 23:03:02 -05:00
Joshua Vandaële
2ed5f16600
minizip-ng: Stop using compatibility mode 2025-05-22 12:51:55 +02:00
Joshua Vandaële
72fd344dca
Allow shared zlib
This is a followup to #13089
2025-05-04 16:50:25 +02:00
Joshua Vandaële
4773a6f323
Add a GUI option to select a bluetooth device 2025-04-23 02:19:28 +02:00
OatmealDome
da84a9f605
Merge pull request #13477 from OatmealDome/macos-11
CMakeLists: Bump minimum macOS to 11.0
2025-04-22 17:27:12 -04:00
OatmealDome
39e535d4aa CMakeLists: Bump minimum macOS to 11.0 2025-04-21 00:24:57 -04:00
LillyJadeKatrin
cab5bc5680 Update rcheevos submodule to newest master 2025-04-13 08:05:59 -04:00
Sam Belliveau
f09ba10daa AudioCommon: Added Granular Synthesis 2025-03-14 01:22:35 -05:00
JMC47
9f43f59c9b
Merge pull request #13276 from JoshuaVandaele/sfml-3.0.0
Migrate to SFML 3.0.0
2025-03-10 15:03:36 -04:00
Luz Paz
325c1a24b9 CMake: fix various typos
Also includes a fix for BuildMacOSUniversalBinary.py
2025-03-05 20:57:52 -05:00