aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2018-10-27 09:04:27 +0200
committerGitHub <noreply@github.com>2018-10-27 09:04:27 +0200
commit22c52cf39c2491467f04bd6300a72d92c230a5e7 (patch)
treed806b1568f2c830a9e86eefe81f06c0c7e864730
parentf5ccbae4c82165c97ba0c95ec5ec2b2e268f49d9 (diff)
parent2437bbbf152c983523b7577b68e16173e9b3a924 (diff)
downloadPROJ-22c52cf39c2491467f04bd6300a72d92c230a5e7.tar.gz
PROJ-22c52cf39c2491467f04bd6300a72d92c230a5e7.zip
Merge pull request #1164 from mathstuf/cmake-pthread-mutex-recursive-detection
cmake: detect PTHREAD_MUTEX_RECURSIVE by compiling
-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)