Commit Graph

796 Commits

Author SHA1 Message Date
Tom Pratt 6825a4a954 Enable USE_UPNP in android builds
The UI already exists in the Android netplay menu so just need to enable it in the build.
2026-07-01 15:59:46 +02:00
Joshua Vandaële 8200d93199 CMakeLists: Remove redundant clang version check
The minimum clang version is currently 15
2026-06-23 22:45:26 +02:00
JosJuice 606bcbe3ed CMakeLists: Enable mGBA on Android 2026-03-31 23:40:54 -05:00
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