summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-05-04 15:08:31 (GMT)
committerKitware Robot <kwrobot@kitware.com>2022-05-04 15:08:38 (GMT)
commit8aff3e41a81efc84f6d50ab0936125e464ed324c (patch)
treeaba55c528f34440334458e4a47f02b2078abeca3
parent9a49a93d9860ac8a7d2e0d310824fa44b44bf152 (diff)
parent3257c34073e53b09ed1bf83b012eb026b9897d07 (diff)
downloadCMake-8aff3e41a81efc84f6d50ab0936125e464ed324c.zip
CMake-8aff3e41a81efc84f6d50ab0936125e464ed324c.tar.gz
CMake-8aff3e41a81efc84f6d50ab0936125e464ed324c.tar.bz2
Merge topic 'FindThreads-aix'
3257c34073 FindThreads: avoid failing in AIX when using -D_XOPEN_SOURCE=500 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7230
-rw-r--r--Modules/FindThreads.cmake52
1 files changed, 19 insertions, 33 deletions
diff --git a/Modules/FindThreads.cmake b/Modules/FindThreads.cmake
index c1531a4..a2304c2 100644
--- a/Modules/FindThreads.cmake
+++ b/Modules/FindThreads.cmake
@@ -156,41 +156,27 @@ macro(_threads_check_flag_pthread)
endif()
endmacro()
-# Do we have pthreads?
-if(CMAKE_C_COMPILER_LOADED)
- CHECK_INCLUDE_FILE("pthread.h" CMAKE_HAVE_PTHREAD_H)
-else()
- CHECK_INCLUDE_FILE_CXX("pthread.h" CMAKE_HAVE_PTHREAD_H)
+# Check if pthread functions are in normal C library.
+# We list some pthread functions in PTHREAD_C_CXX_TEST_SOURCE test code.
+# If the pthread functions already exist in C library, we could just use
+# them instead of linking to the additional pthread library.
+_threads_check_libc()
+
+# Check for -pthread first if enabled. This is the recommended
+# way, but not backwards compatible as one must also pass -pthread
+# as compiler flag then.
+if (THREADS_PREFER_PTHREAD_FLAG)
+ _threads_check_flag_pthread()
+endif ()
+
+if(CMAKE_SYSTEM MATCHES "GHS-MULTI")
+ _threads_check_lib(posix pthread_create CMAKE_HAVE_PTHREADS_CREATE)
endif()
+_threads_check_lib(pthreads pthread_create CMAKE_HAVE_PTHREADS_CREATE)
+_threads_check_lib(pthread pthread_create CMAKE_HAVE_PTHREAD_CREATE)
-if(CMAKE_HAVE_PTHREAD_H)
- #
- # We have pthread.h
- # Let's check for the library now.
- #
-
- # Check if pthread functions are in normal C library.
- # We list some pthread functions in PTHREAD_C_CXX_TEST_SOURCE test code.
- # If the pthread functions already exist in C library, we could just use
- # them instead of linking to the additional pthread library.
- _threads_check_libc()
-
- # Check for -pthread first if enabled. This is the recommended
- # way, but not backwards compatible as one must also pass -pthread
- # as compiler flag then.
- if (THREADS_PREFER_PTHREAD_FLAG)
- _threads_check_flag_pthread()
- endif ()
-
- if(CMAKE_SYSTEM MATCHES "GHS-MULTI")
- _threads_check_lib(posix pthread_create CMAKE_HAVE_PTHREADS_CREATE)
- endif()
- _threads_check_lib(pthreads pthread_create CMAKE_HAVE_PTHREADS_CREATE)
- _threads_check_lib(pthread pthread_create CMAKE_HAVE_PTHREAD_CREATE)
-
- if (NOT THREADS_PREFER_PTHREAD_FLAG)
- _threads_check_flag_pthread()
- endif()
+if (NOT THREADS_PREFER_PTHREAD_FLAG)
+ _threads_check_flag_pthread()
endif()
if(CMAKE_THREAD_LIBS_INIT OR CMAKE_HAVE_LIBC_PTHREAD)