Просмотр исходного кода

Merge topic 'revert-fix-for-11333'

98c49a4 Revert "FindThreads: Try pthreads with no special option first (#11333)"
David Cole 14 лет назад
Родитель
Сommit
26e5b0ea82
1 измененных файлов с 19 добавлено и 28 удалено
  1. 19 28
      Modules/FindThreads.cmake

+ 19 - 28
Modules/FindThreads.cmake

@@ -23,7 +23,6 @@
 
 INCLUDE (CheckIncludeFiles)
 INCLUDE (CheckLibraryExists)
-INCLUDE (CheckSymbolExists)
 SET(Threads_FOUND FALSE)
 
 # Do we have sproc?
@@ -45,41 +44,33 @@ ELSE()
     #
     SET(CMAKE_HAVE_THREADS_LIBRARY)
     IF(NOT THREADS_HAVE_PTHREAD_ARG)
-      # Check if pthread functions are in normal C library
-      CHECK_SYMBOL_EXISTS(pthread_create pthread.h CMAKE_HAVE_LIBC_CREATE)
-      IF(CMAKE_HAVE_LIBC_CREATE)
-        SET(CMAKE_THREAD_LIBS_INIT "")
+
+      # Do we have -lpthreads
+      CHECK_LIBRARY_EXISTS(pthreads pthread_create "" CMAKE_HAVE_PTHREADS_CREATE)
+      IF(CMAKE_HAVE_PTHREADS_CREATE)
+        SET(CMAKE_THREAD_LIBS_INIT "-lpthreads")
         SET(CMAKE_HAVE_THREADS_LIBRARY 1)
         SET(Threads_FOUND TRUE)
       ENDIF()
 
-      IF(NOT CMAKE_HAVE_THREADS_LIBRARY)
-        # Do we have -lpthreads
-        CHECK_LIBRARY_EXISTS(pthreads pthread_create "" CMAKE_HAVE_PTHREADS_CREATE)
-        IF(CMAKE_HAVE_PTHREADS_CREATE)
-          SET(CMAKE_THREAD_LIBS_INIT "-lpthreads")
-          SET(CMAKE_HAVE_THREADS_LIBRARY 1)
-          SET(Threads_FOUND TRUE)
-        ENDIF()
+      # Ok, how about -lpthread
+      CHECK_LIBRARY_EXISTS(pthread pthread_create "" CMAKE_HAVE_PTHREAD_CREATE)
+      IF(CMAKE_HAVE_PTHREAD_CREATE)
+        SET(CMAKE_THREAD_LIBS_INIT "-lpthread")
+        SET(Threads_FOUND TRUE)
+        SET(CMAKE_HAVE_THREADS_LIBRARY 1)
+      ENDIF()
 
-        # Ok, how about -lpthread
-        CHECK_LIBRARY_EXISTS(pthread pthread_create "" CMAKE_HAVE_PTHREAD_CREATE)
-        IF(CMAKE_HAVE_PTHREAD_CREATE)
-          SET(CMAKE_THREAD_LIBS_INIT "-lpthread")
+      IF(CMAKE_SYSTEM MATCHES "SunOS.*")
+        # On sun also check for -lthread
+        CHECK_LIBRARY_EXISTS(thread thr_create "" CMAKE_HAVE_THR_CREATE)
+        IF(CMAKE_HAVE_THR_CREATE)
+          SET(CMAKE_THREAD_LIBS_INIT "-lthread")
           SET(CMAKE_HAVE_THREADS_LIBRARY 1)
           SET(Threads_FOUND TRUE)
         ENDIF()
+      ENDIF(CMAKE_SYSTEM MATCHES "SunOS.*")
 
-        IF(CMAKE_SYSTEM MATCHES "SunOS.*")
-          # On sun also check for -lthread
-          CHECK_LIBRARY_EXISTS(thread thr_create "" CMAKE_HAVE_THR_CREATE)
-          IF(CMAKE_HAVE_THR_CREATE)
-            SET(CMAKE_THREAD_LIBS_INIT "-lthread")
-            SET(CMAKE_HAVE_THREADS_LIBRARY 1)
-            SET(Threads_FOUND TRUE)
-          ENDIF()
-        ENDIF(CMAKE_SYSTEM MATCHES "SunOS.*")
-      ENDIF(NOT CMAKE_HAVE_THREADS_LIBRARY)
     ENDIF(NOT THREADS_HAVE_PTHREAD_ARG)
 
     IF(NOT CMAKE_HAVE_THREADS_LIBRARY)
@@ -120,7 +111,7 @@ ELSE()
   ENDIF(CMAKE_HAVE_PTHREAD_H)
 ENDIF()
 
-IF(CMAKE_THREAD_LIBS_INIT OR CMAKE_HAVE_LIBC_CREATE)
+IF(CMAKE_THREAD_LIBS_INIT)
   SET(CMAKE_USE_PTHREADS_INIT 1)
   SET(Threads_FOUND TRUE)
 ENDIF()