Codebase list swi-prolog / 109af2a1-1aa9-45ee-9e2f-3bf3c7edfa79/main cmake / TestRecursiveMutex.cmake
109af2a1-1aa9-45ee-9e2f-3bf3c7edfa79/main

Tree @109af2a1-1aa9-45ee-9e2f-3bf3c7edfa79/main (Download .tar.gz)

TestRecursiveMutex.cmake @109af2a1-1aa9-45ee-9e2f-3bf3c7edfa79/mainraw · history · blame

if(NOT DEFINED RECURSIVE_MUTEXES)

message("-- Checking for recursive mutex support")
check_c_source_compiles(
    "#include <pthread.h>\nint main() { int i = PTHREAD_MUTEX_RECURSIVE; return 0;}"
    HAVE_PTHREAD_MUTEX_RECURSIVE)
if(HAVE_PTHREAD_MUTEX_RECURSIVE)
  set(RECURSIVE_MUTEXES 1 CACHE INTERNAL "Supports recursive mutexes")
else()
  check_c_source_compiles(
      "#include <pthread.h>\nint main() { int i = PTHREAD_MUTEX_RECURSIVE_NP; return 0;}"
      HAVE_PTHREAD_MUTEX_RECURSIVE_NP)
  if(HAVE_PTHREAD_MUTEX_RECURSIVE_NP)
    set(RECURSIVE_MUTEXES 1 CACHE INTERNAL "Supports recursive mutexes")
  endif()
endif()

if(RECURSIVE_MUTEXES)
  message("-- Checking for recursive mutex support -- found")
else()
  message("-- Checking for recursive mutex support -- not found")
endif()

endif(NOT DEFINED RECURSIVE_MUTEXES)