From 48c294105f5123dc876fbad199ec1e0166d82a18 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Tue, 23 Dec 2025 11:59:45 +0100 Subject: build: Refactor CMake modules This moves the CMake build logic out of the source tree and splits it up into a more modular form. The tests now have a CMakeLists.txt file in their respective source directory. Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- cmake/dependencies/robustmutex.cmake | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 cmake/dependencies/robustmutex.cmake (limited to 'cmake/dependencies/robustmutex.cmake') diff --git a/cmake/dependencies/robustmutex.cmake b/cmake/dependencies/robustmutex.cmake new file mode 100644 index 00000000..94aec8f0 --- /dev/null +++ b/cmake/dependencies/robustmutex.cmake @@ -0,0 +1,18 @@ +list(APPEND CMAKE_REQUIRED_DEFINITIONS -D_POSIX_C_SOURCE=200809L) +list(APPEND CMAKE_REQUIRED_DEFINITIONS -D__XSI_VISIBLE=500) +list(APPEND CMAKE_REQUIRED_LIBRARIES pthread) +check_symbol_exists(pthread_mutexattr_setrobust pthread.h HAVE_ROBUST_MUTEX) + +if (HAVE_ROBUST_MUTEX) + set(DISABLE_ROBUST_MUTEXES FALSE CACHE BOOL "Disable robust mutex support") + if (NOT DISABLE_ROBUST_MUTEXES) + message(STATUS "Robust mutex support enabled") + set(HAVE_ROBUST_MUTEX TRUE) + else () + message(STATUS "Robust mutex support disabled by user") + unset(HAVE_ROBUST_MUTEX) + endif () +else() + message(STATUS "Robust mutex support not available") + unset(HAVE_ROBUST_MUTEX) +endif () -- cgit v1.2.3