aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt21
1 files changed, 16 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ece1a455..e6265dc0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -82,11 +82,6 @@ set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
find_package (Threads)
include(CheckIncludeFiles)
-include(CheckSymbolExists)
-CHECK_SYMBOL_EXISTS(PTHREAD_MUTEX_RECURSIVE pthread.h HAVE_PTHREAD_MUTEX_RECURSIVE_DEFN)
-if (HAVE_PTHREAD_MUTEX_RECURSIVE_DEFN)
- add_definitions(-DHAVE_PTHREAD_MUTEX_RECURSIVE=1)
-endif()
include (CheckCSourceCompiles)
if (MSVC)
@@ -112,6 +107,22 @@ else ()
add_definitions (-DHAVE_C99_MATH=0)
endif ()
+if (Threads_FOUND AND CMAKE_USE_PTHREADS_INIT)
+ set (CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}")
+ check_c_source_compiles("
+#include <pthread.h>
+
+int main(int argc, char* argv[]) {
+ (void)PTHREAD_MUTEX_RECURSIVE;
+ (void)argv;
+ return argc;
+}
+ " HAVE_PTHREAD_MUTEX_RECURSIVE_DEFN)
+ if (HAVE_PTHREAD_MUTEX_RECURSIVE_DEFN)
+ add_definitions(-DHAVE_PTHREAD_MUTEX_RECURSIVE=1)
+ endif()
+endif ()
+
boost_report_value(PROJ_PLATFORM_NAME)
boost_report_value(PROJ_COMPILER_NAME)