diff options
| author | Joshua Vandaƫle <joshua@vandaele.software> | 2026-07-14 17:58:52 +0200 |
|---|---|---|
| committer | Joshua Vandaƫle <joshua@vandaele.software> | 2026-07-25 06:10:43 +0200 |
| commit | 24361f49d1f797e1662af4a5d45447cafbf25fa1 (patch) | |
| tree | 1b21858b09ec867f35f9c0ed52849c2855af1588 /CMakeLists.txt | |
| parent | 13238340ae77350f7f7bb13f1e93e52afc450afe (diff) | |
CMake: Enforce minimum stdlib versions
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 389e8ae7ee..7258caeec8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,6 +54,9 @@ set(GCC_min_version 12) set(Clang_min_version 15) set(AppleClang_min_version 14.0.3) set(MSVC_min_version 19.32) +# Standard libraries +set(libstdc++_min_version 12) # This should match GCC_min_version's major version. +set(libc++_min_version 150000) # This should match Clang_min_version in the format "xxyyzz" instead of "xx.yy.zz" dolphin_check_toolset_version("Xcode" XCODE_VERSION ${Xcode_min_version}) dolphin_check_toolset_version("MSVC Toolset" MSVC_TOOLSET_VERSION ${MSVC_toolset_min_version}) @@ -66,6 +69,12 @@ elseif(CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${${COMPILER}_min_version}) message(FATAL_ERROR "Requires ${COMPILER} ${${COMPILER}_min_version} or higher") endif() +# libstdc++ is almost always used on Linux, even when using clang as the compiler. +# libc++ is used on the likes of Android, Apple devices, FreeBSD, and a few (very) rare Linux distros like Chimera Linux. +# Windows uses its own standard library named STL, which we check as part of the toolset above. (outside of MinGW which can use either libstdc++ or libc++) +dolphin_check_std_version("GNU_libstdc++" _GLIBCXX_RELEASE ${libstdc++_min_version}) +dolphin_check_std_version("LLVM_libc++" _LIBCPP_VERSION ${libc++_min_version}) + # Name of the Dolphin distributor. If you redistribute Dolphin builds (forks, # unofficial builds) please consider identifying your distribution with a # unique name here. |
