Joshua Vandaële
13238340ae
CMake: Enforce minimum toolset versions
2026-07-25 04:32:28 +02:00
Joshua Vandaële
f98c974a0d
CMake: Update compiler version checking
...
We now only show the minimum version of the compiler being used to build Dolphin instead of all supported compilers.
2026-07-25 04:32:28 +02:00
Joshua Vandaële
c7b621ad08
CMake: Set VS startup project to dolphin-emu
2026-07-24 03:45:13 +02:00
Joshua Vandaële
8366609fc1
CMake: Error out if trying to build generic builds on Windows
...
Generic builds have never been supported on Windows.
2026-07-24 03:45:13 +02:00
Joshua Vandaële
808a82d5dd
CMake: Bump minimum requirement to 3.25
2026-07-24 03:45:13 +02:00
Joshua Vandaële
6da4bc38e1
CMake: Unify output directory
2026-07-24 03:45:13 +02:00
Joshua Vandaële
3d9f46cd64
CMake: Remove LINUX_LOCAL_DEV and symlink required files
2026-07-24 03:45:13 +02:00
Joshua Vandaële
fa2a250f01
CMake: Unify sys directories
2026-07-24 03:45:13 +02:00
Joshua Vandaële
20bded8066
CMake: PDBs outside of Binaries
2026-07-24 03:45:13 +02:00
Scott Mansell
fd8391a852
Merge pull request #14263 from JoshuaVandaele/ccache-toggle
...
CCache: Set as opt-in by default
2026-07-15 17:48:30 +12:00
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
Joshua Vandaële
271a140715
CCache: Set as opt-in by default
2026-01-09 17:49:51 +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 and Joshua Vandaële
6d5e8b9ed8
Externals: Update mGBA to latest master.
...
Co-authored-by: Joshua Vandaële <[email protected] >
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