From 720396378890ee93158343ff3d681423bf0bdd4a Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 8 Aug 2022 12:41:57 -0400 Subject: FindThreads: Skip check for -pthread flag when targeting the MSVC ABI Since commit 3257c34073 (FindThreads: avoid failing in AIX when using -D_XOPEN_SOURCE=500, 2022-04-30, v3.24.0-rc1~197^2) we no longer check for `pthreads.h` before checking for the `-pthread` flag. Compilers targeting the MSVC ABI do not have such a flag, so avoid performing the check unnecessarily. Fixes: #23829 --- Modules/FindThreads.cmake | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Modules/FindThreads.cmake b/Modules/FindThreads.cmake index a2304c2..a675fd6 100644 --- a/Modules/FindThreads.cmake +++ b/Modules/FindThreads.cmake @@ -122,7 +122,11 @@ endmacro() macro(_threads_check_flag_pthread) if(NOT Threads_FOUND) # If we did not find -lpthreads, -lpthread, or -lthread, look for -pthread - if(NOT DEFINED THREADS_HAVE_PTHREAD_ARG) + # except on compilers known to not have it. + if(MSVC) + # Compilers targeting the MSVC ABI do not have a -pthread flag. + set(THREADS_HAVE_PTHREAD_ARG FALSE) + elseif(NOT DEFINED THREADS_HAVE_PTHREAD_ARG) message(CHECK_START "Check if compiler accepts -pthread") if(CMAKE_C_COMPILER_LOADED) set(_threads_src ${CMAKE_CURRENT_LIST_DIR}/CheckForPthreads.c) -- cgit v0.12