diff options
author | Philip Lowman <philip@yhbt.com> | 2009-09-20 08:03:45 -0400 |
---|---|---|
committer | Philip Lowman <philip@yhbt.com> | 2009-09-20 08:03:45 -0400 |
commit | 42618d55245acaa88324555bd91e7ef34d5f4914 (patch) | |
tree | 0b0b7d546e391c2029dd62caead8b3590f5fed7d /Modules/FindThreads.cmake | |
parent | 2396ff988944dc60a80ac448c96aca6793d9b790 (diff) | |
download | cmake-42618d55245acaa88324555bd91e7ef34d5f4914.tar.gz |
Improve readability
Diffstat (limited to 'Modules/FindThreads.cmake')
-rw-r--r-- | Modules/FindThreads.cmake | 43 |
1 files changed, 27 insertions, 16 deletions
diff --git a/Modules/FindThreads.cmake b/Modules/FindThreads.cmake index 6facb51556..de3cdee3f2 100644 --- a/Modules/FindThreads.cmake +++ b/Modules/FindThreads.cmake @@ -13,33 +13,39 @@ SET(Threads_FOUND FALSE) # Do we have sproc? IF(CMAKE_SYSTEM MATCHES IRIX) CHECK_INCLUDE_FILES("sys/types.h;sys/prctl.h" CMAKE_HAVE_SPROC_H) -ENDIF(CMAKE_SYSTEM MATCHES IRIX) +ENDIF() IF(CMAKE_HAVE_SPROC_H) # We have sproc SET(CMAKE_USE_SPROC_INIT 1) -ELSE(CMAKE_HAVE_SPROC_H) +ELSE() # Do we have pthreads? CHECK_INCLUDE_FILES("pthread.h" CMAKE_HAVE_PTHREAD_H) IF(CMAKE_HAVE_PTHREAD_H) + + # # We have pthread.h # Let's check for the library now. + # SET(CMAKE_HAVE_THREADS_LIBRARY) IF(NOT THREADS_HAVE_PTHREAD_ARG) + # 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(CMAKE_HAVE_PTHREADS_CREATE) + 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(CMAKE_HAVE_PTHREAD_CREATE) + ENDIF() + IF(CMAKE_SYSTEM MATCHES "SunOS.*") # On sun also check for -lthread CHECK_LIBRARY_EXISTS(thread thr_create "" CMAKE_HAVE_THR_CREATE) @@ -47,8 +53,9 @@ ELSE(CMAKE_HAVE_SPROC_H) SET(CMAKE_THREAD_LIBS_INIT "-lthread") SET(CMAKE_HAVE_THREADS_LIBRARY 1) SET(Threads_FOUND TRUE) - ENDIF(CMAKE_HAVE_THR_CREATE) + ENDIF() ENDIF(CMAKE_SYSTEM MATCHES "SunOS.*") + ENDIF(NOT THREADS_HAVE_PTHREAD_ARG) IF(NOT CMAKE_HAVE_THREADS_LIBRARY) @@ -60,40 +67,44 @@ ELSE(CMAKE_HAVE_SPROC_H) ${CMAKE_ROOT}/Modules/CheckForPthreads.c CMAKE_FLAGS -DLINK_LIBRARIES:STRING=-pthread COMPILE_OUTPUT_VARIABLE OUTPUT) + IF(THREADS_HAVE_PTHREAD_ARG) IF(THREADS_PTHREAD_ARG MATCHES "^2$") SET(Threads_FOUND TRUE) MESSAGE(STATUS "Check if compiler accepts -pthread - yes") - ELSE(THREADS_PTHREAD_ARG MATCHES "^2$") + ELSE() MESSAGE(STATUS "Check if compiler accepts -pthread - no") FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "Determining if compiler accepts -pthread returned ${THREADS_PTHREAD_ARG} instead of 2. The compiler had the following output:\n${OUTPUT}\n\n") - ENDIF(THREADS_PTHREAD_ARG MATCHES "^2$") - ELSE(THREADS_HAVE_PTHREAD_ARG) + ENDIF() + ELSE() MESSAGE(STATUS "Check if compiler accepts -pthread - no") FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "Determining if compiler accepts -pthread failed with the following output:\n${OUTPUT}\n\n") - ENDIF(THREADS_HAVE_PTHREAD_ARG) + ENDIF() + ENDIF("THREADS_HAVE_PTHREAD_ARG" MATCHES "^THREADS_HAVE_PTHREAD_ARG") + IF(THREADS_HAVE_PTHREAD_ARG) SET(Threads_FOUND TRUE) SET(CMAKE_THREAD_LIBS_INIT "-pthread") - ENDIF(THREADS_HAVE_PTHREAD_ARG) + ENDIF() + ENDIF(NOT CMAKE_HAVE_THREADS_LIBRARY) ENDIF(CMAKE_HAVE_PTHREAD_H) -ENDIF(CMAKE_HAVE_SPROC_H) +ENDIF() IF(CMAKE_THREAD_LIBS_INIT) SET(CMAKE_USE_PTHREADS_INIT 1) SET(Threads_FOUND TRUE) -ENDIF(CMAKE_THREAD_LIBS_INIT) +ENDIF() IF(CMAKE_SYSTEM MATCHES "Windows") SET(CMAKE_USE_WIN32_THREADS_INIT 1) SET(Threads_FOUND TRUE) -ENDIF(CMAKE_SYSTEM MATCHES "Windows") +ENDIF() IF(CMAKE_USE_PTHREADS_INIT) IF(CMAKE_SYSTEM MATCHES "HP-UX-*") @@ -112,19 +123,19 @@ IF(CMAKE_USE_PTHREADS_INIT) SET(Threads_FOUND TRUE) ENDIF(CMAKE_HAVE_HP_CMA) SET(CMAKE_USE_PTHREADS_INIT 1) - ENDIF(CMAKE_SYSTEM MATCHES "HP-UX-*") + ENDIF() IF(CMAKE_SYSTEM MATCHES "OSF1-V*") SET(CMAKE_USE_PTHREADS_INIT 0) SET(CMAKE_THREAD_LIBS_INIT ) - ENDIF(CMAKE_SYSTEM MATCHES "OSF1-V*") + ENDIF() IF(CMAKE_SYSTEM MATCHES "CYGWIN_NT*") SET(CMAKE_USE_PTHREADS_INIT 1) SET(Threads_FOUND TRUE) SET(CMAKE_THREAD_LIBS_INIT ) SET(CMAKE_USE_WIN32_THREADS_INIT 0) - ENDIF(CMAKE_SYSTEM MATCHES "CYGWIN_NT*") + ENDIF() ENDIF(CMAKE_USE_PTHREADS_INIT) INCLUDE(FindPackageHandleStandardArgs) |