ENH: On apple use -lpthreads

This commit is contained in:
Andy Cedilnik 2003-08-06 17:32:50 -04:00
parent fa642fee71
commit 51301d8cc6
1 changed files with 21 additions and 19 deletions

View File

@ -16,27 +16,29 @@ ENDIF(CMAKE_SYSTEM MATCHES IRIX)
CHECK_INCLUDE_FILE("pthread.h" CMAKE_HAVE_PTHREAD_H) CHECK_INCLUDE_FILE("pthread.h" CMAKE_HAVE_PTHREAD_H)
IF(CMAKE_HAVE_PTHREAD_H) IF(CMAKE_HAVE_PTHREAD_H)
IF(NOT CMAKE_HAVE_SPROC_H) IF(NOT CMAKE_HAVE_SPROC_H)
IF("THREADS_HAVE_PTHREAD_ARG" MATCHES "^THREADS_HAVE_PTHREAD_ARG") IF(NOT APPLE)
MESSAGE(STATUS "Check if compiler accepts -pthread") IF("THREADS_HAVE_PTHREAD_ARG" MATCHES "^THREADS_HAVE_PTHREAD_ARG")
TRY_RUN(THREADS_PTHREAD_ARG THREADS_HAVE_PTHREAD_ARG MESSAGE(STATUS "Check if compiler accepts -pthread")
${CMAKE_BINARY_DIR} TRY_RUN(THREADS_PTHREAD_ARG THREADS_HAVE_PTHREAD_ARG
${CMAKE_ROOT}/Modules/CheckForPthreads.c ${CMAKE_BINARY_DIR}
CMAKE_FLAGS -DLINK_LIBRARIES:STRING=-pthread ${CMAKE_ROOT}/Modules/CheckForPthreads.c
OUTPUT_VARIABLE OUTPUT) CMAKE_FLAGS -DLINK_LIBRARIES:STRING=-pthread
IF(THREADS_HAVE_PTHREAD_ARG) OUTPUT_VARIABLE OUTPUT)
IF(THREADS_PTHREAD_ARG MATCHES "^2$") IF(THREADS_HAVE_PTHREAD_ARG)
MESSAGE(STATUS "Check if compiler accepts -pthread - yes") IF(THREADS_PTHREAD_ARG MATCHES "^2$")
ELSE(THREADS_PTHREAD_ARG MATCHES "^2$") MESSAGE(STATUS "Check if compiler accepts -pthread - yes")
ELSE(THREADS_PTHREAD_ARG MATCHES "^2$")
MESSAGE(STATUS "Check if compiler accepts -pthread - no")
FILE(APPEND ${CMAKE_BINARY_DIR}/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)
MESSAGE(STATUS "Check if compiler accepts -pthread - no") MESSAGE(STATUS "Check if compiler accepts -pthread - no")
FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log
"Determining if compiler accepts -pthread returned ${THREADS_PTHREAD_ARG} instead of 2. The compiler had the following output:\n${OUTPUT}\n\n") "Determining if compiler accepts -pthread failed with the following output:\n${OUTPUT}\n\n")
ENDIF(THREADS_PTHREAD_ARG MATCHES "^2$") ENDIF(THREADS_HAVE_PTHREAD_ARG)
ELSE(THREADS_HAVE_PTHREAD_ARG) ENDIF("THREADS_HAVE_PTHREAD_ARG" MATCHES "^THREADS_HAVE_PTHREAD_ARG")
MESSAGE(STATUS "Check if compiler accepts -pthread - no") ENDIF(NOT APPLE)
FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log
"Determining if compiler accepts -pthread failed with the following output:\n${OUTPUT}\n\n")
ENDIF(THREADS_HAVE_PTHREAD_ARG)
ENDIF("THREADS_HAVE_PTHREAD_ARG" MATCHES "^THREADS_HAVE_PTHREAD_ARG")
IF(THREADS_HAVE_PTHREAD_ARG) IF(THREADS_HAVE_PTHREAD_ARG)
SET(CMAKE_THREAD_LIBS_INIT "-pthread") SET(CMAKE_THREAD_LIBS_INIT "-pthread")
ELSE(THREADS_HAVE_PTHREAD_ARG) ELSE(THREADS_HAVE_PTHREAD_ARG)