aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2025-10-01 06:59:35 +0200
committercrueter <crueter@eden-emu.dev>2025-10-01 06:59:35 +0200
commitdfe10bc85196d1e7812b6cb775767cf1e072c20f (patch)
tree0c86acd8cc200efe54470a65d3050326684a90bb /CMakeLists.txt
parent9a098441def2cfc4281ab1af6b2e8b34200800c0 (diff)
[common] use libc++ provided jthread instead of in-house one (which deadlocks on FBSD 14) (#351)
Needs test on our CI targets to see I didn't miss anything. Worried about android. Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/351 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt12
1 files changed, 12 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3599105020..eda6969f31 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -319,6 +319,18 @@ if (YUZU_ROOM)
add_compile_definitions(YUZU_ROOM)
endif()
+if (ANDROID OR PLATFORM_FREEBSD OR PLATFORM_OPENBSD OR PLATFORM_SUN OR APPLE)
+ if(CXX_APPLE OR CXX_CLANG)
+ # libc++ has stop_token and jthread as experimental
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexperimental-library")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fexperimental-library")
+ else()
+ # Uses glibc, mostly?
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_LIBCPP_ENABLE_EXPERIMENTAL=1")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_LIBCPP_ENABLE_EXPERIMENTAL=1")
+ endif()
+endif()
+
# Build/optimization presets
if (PLATFORM_LINUX OR CXX_CLANG)
if (ARCHITECTURE_x86_64)