summaryrefslogtreecommitdiff
path: root/CMake
diff options
context:
space:
mode:
Diffstat (limited to 'CMake')
-rw-r--r--CMake/pthread_mutex_recursive.c7
-rw-r--r--CMake/resources.cmake14
2 files changed, 20 insertions, 1 deletions
diff --git a/CMake/pthread_mutex_recursive.c b/CMake/pthread_mutex_recursive.c
new file mode 100644
index 000000000..2a058822f
--- /dev/null
+++ b/CMake/pthread_mutex_recursive.c
@@ -0,0 +1,7 @@
+/*
+ FLTK feature test: do we have PTHREAD_MUTEX_RECURSIVE ?
+*/
+#include <pthread.h>
+int main() {
+ return PTHREAD_MUTEX_RECURSIVE;
+}
diff --git a/CMake/resources.cmake b/CMake/resources.cmake
index 57173f206..7ea839d1f 100644
--- a/CMake/resources.cmake
+++ b/CMake/resources.cmake
@@ -71,6 +71,17 @@ else ()
fl_find_header (HAVE_PTHREAD_H pthread.h)
endif (WIN32 AND NOT CYGWIN)
+# Do we have PTHREAD_MUTEX_RECURSIVE ?
+
+if (HAVE_PTHREAD_H)
+ try_compile(HAVE_PTHREAD_MUTEX_RECURSIVE
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/CMake/pthread_mutex_recursive.c
+ )
+else ()
+ set (HAVE_PTHREAD_MUTEX_RECURSIVE 0)
+endif ()
+
# Special case for Microsoft Visual Studio generator (MSVC):
#
# The header files <GL/glu.h> and <locale.h> are located in the SDK's
@@ -139,7 +150,8 @@ endif (NOT HAVE_DIRENT_H)
mark_as_advanced (HAVE_ALSA_ASOUNDLIB_H HAVE_DIRENT_H HAVE_DLFCN_H)
mark_as_advanced (HAVE_GL_GLU_H)
mark_as_advanced (HAVE_LIBPNG_PNG_H HAVE_LOCALE_H HAVE_NDIR_H)
-mark_as_advanced (HAVE_OPENGL_GLU_H HAVE_PNG_H HAVE_PTHREAD_H)
+mark_as_advanced (HAVE_OPENGL_GLU_H HAVE_PNG_H)
+mark_as_advanced (HAVE_PTHREAD_H HAVE_PTHREAD_MUTEX_RECURSIVE)
mark_as_advanced (HAVE_STDIO_H HAVE_STRINGS_H HAVE_SYS_DIR_H)
mark_as_advanced (HAVE_SYS_NDIR_H HAVE_SYS_SELECT_H)
mark_as_advanced (HAVE_SYS_STDTYPES_H HAVE_XDBE_H)