summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
4 daysMerge pull request #14779 from phire/cmake_osx_sysrootOatmealDome
Make sure CMAKE_OSX_SYSROOT is set
4 daysMake sure CMAKE_OSX_SYSROOT is setScott Mansell
Otherwise we can get some really weird build issues
5 daysAboutDialog: Fix compilation with ENABLE_SDL=OFFJoshua Vandaële
10 daysCMake: Enforce minimum stdlib versionsJoshua Vandaële
10 daysCMake: Enforce minimum toolset versionsJoshua Vandaële
10 daysCMake: Update compiler version checkingJoshua Vandaële
We now only show the minimum version of the compiler being used to build Dolphin instead of all supported compilers.
11 daysCMake: Set VS startup project to dolphin-emuJoshua Vandaële
11 daysCMake: Error out if trying to build generic builds on WindowsJoshua Vandaële
Generic builds have never been supported on Windows.
11 daysCMake: Bump minimum requirement to 3.25Joshua Vandaële
11 daysCMake: Unify output directoryJoshua Vandaële
11 daysCMake: Remove LINUX_LOCAL_DEV and symlink required filesJoshua Vandaële
11 daysCMake: Unify sys directoriesJoshua Vandaële
11 daysCMake: PDBs outside of BinariesJoshua Vandaële
2026-07-15Merge pull request #14263 from JoshuaVandaele/ccache-toggleScott Mansell
CCache: Set as opt-in by default
2026-07-01Enable USE_UPNP in android buildsTom Pratt
The UI already exists in the Android netplay menu so just need to enable it in the build.
2026-06-23CMakeLists: Remove redundant clang version checkJoshua Vandaële
The minimum clang version is currently 15
2026-03-31CMakeLists: Enable mGBA on AndroidJosJuice
2026-03-15Merge pull request #14224 from JoshuaVandaele/windows-mz-ng-fixOatmealDome
Externals: Fix clashing dependencies
2026-02-25SDL: Use bundled LibUSB when desirableJoshua Vandaële
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-25LibUSB: Improve library detectionJoshua Vandaële
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-25minizip-ng: Properly use libraries from ExternalsJoshua Vandaële
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-23Move RangeSet from Externals to CommonJosJuice
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-01-25Merge pull request #14036 from TellowKrinkle/SkipPostprocessOatmealDome
CMake: Default SKIP_POSTPROCESS_BUNDLE to ON
2026-01-25Merge pull request #14299 from SuperSamus/cmake-ipo-modernOatmealDome
CMakeLists: Use `CMAKE_INTERPROCEDURAL_OPTIMIZATION` for LTO
2026-01-25Merge pull request #14214 from JoshuaVandaele/cmake-nonbreaking-improvementsDentomologist
CMake: Various improvements
2026-01-23CMakeLists: Use `CMAKE_INTERPROCEDURAL_OPTIMIZATION` for LTOMartino Fontana
Just a simple modernization. LTO is still disabled by default.
2026-01-21Make WIL a submodule and update itJoshua Vandaële
2026-01-17c++23: Replace Common::Unreachable with std::unreachableJoshua Vandaële
Requires at least GCC 12, Clang 15, MSVC 19.32, or AppleClang 14.0.3.
2026-01-17Merge pull request #14268 from JoshuaVandaele/std-tounderlyingiwubcode
c++23: Replace Common::ToUnderlying with std::to_underlying
2026-01-11Merge pull request #14251 from JoshuaVandaele/cmake-editorconfigJMC47
.editorconfig: Update CMake style
2026-01-11Merge pull request #14255 from JoshuaVandaele/bsd-fixJMC47
cpp-ipc: Fix builds on non-FreeBSD BSDs
2026-01-09c++23: Replace Common::ToUnderlying with std::to_underlyingJoshua Vandaële
Requires at least GCC 11, Clang 13, MSVC 19.30 (VS2022 17.0), or AppleClang 13.1.6 (XCode 13.3).
2026-01-09CCache: Set as opt-in by defaultJoshua Vandaële
2026-01-06Set CMake version range to 3.20...4.2.1Dentomologist
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-06cpp-ipc: Fix builds on non-FreeBSD BSDsJoshua Vandaële
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-04CMake: Apply editorconfig formattingJoshua Vandaële
2025-12-30Merge pull request #14208 from cristian64/broadband_adapter_ipc_freebsdJordan Woyak
Core/HW: Enable BBA (IPC) in FreeBSD.
2025-12-11CMake: Better architecture detectionJoshua Vandaële
2025-12-11Build: Remove license.txtJoshua Vandaële
Follow up to #10039 and #9862
2025-12-10Core/HW: Enable BBA (IPC) in FreeBSD.cristian64
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-11-27Use minizip-ng's CMakeLists instead of relying on our own implementationJoshua Vandaële
This is a carry over from back when we used `minizip` and had our own CMakeLists for it.
2025-11-13Externals: Update mGBA to latest master.Jordan Woyak
Co-authored-by: Joshua Vandaële <joshua@vandaele.software>
2025-11-09CMake: Switch from SKIP_POSTPROCESS_BUNDLE to POSTPROCESS_BUNDLETellowKrinkle
2025-11-08CMake: Allow both glslang 15 and 16TellowKrinkle
2025-11-06CMakeLists: Fix build on Linux with CMake versions less than 3.25.Jordan Woyak
2025-11-01Merge pull request #14034 from JoshuaVandaele/byeprofileJosJuice
JitRegister: Remove OProfile profiler
2025-10-28Core/HW: Add cpp-ipc subdirectory in main CMake file.cristian64
2025-10-26CMake: Default SKIP_POSTPROCESS_BUNDLE to ONTellowKrinkle
Most users do not need it
2025-10-26JitRegister: Remove OProfile profilerJoshua Vandaële
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-24CMake: Fix bundled glslangTellowKrinkle