diff --git a/cmake/config.h.in b/cmake/config.h.in index 547aa4c8..3770935c 100644 --- a/cmake/config.h.in +++ b/cmake/config.h.in @@ -93,10 +93,6 @@ /* Define to the version of this package. */ #cmakedefine PACKAGE_VERSION "@PACKAGE_VERSION@" -/* Define to necessary symbol if this constant uses a non-standard name on - your system. */ -#cmakedefine PTHREAD_CREATE_JOINABLE 1 - /* Define to 1 if you have the ANSI C header files. */ #cmakedefine STDC_HEADERS 1 diff --git a/cmake/deps.cmake b/cmake/deps.cmake index 0ea836dc..fb55f048 100644 --- a/cmake/deps.cmake +++ b/cmake/deps.cmake @@ -27,18 +27,18 @@ if(NOT WEBP_BUILD_WEBP_JS) find_package(Threads) endif() if(Threads_FOUND) - if(CMAKE_USE_PTHREADS_INIT) + # work around cmake bug on QNX (https://cmake.org/Bug/view.php?id=11333) + if(CMAKE_USE_PTHREADS_INIT AND NOT CMAKE_SYSTEM_NAME STREQUAL "QNX") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread") endif() - foreach(PTHREAD_TEST HAVE_PTHREAD_PRIO_INHERIT PTHREAD_CREATE_UNDETACHED) - check_c_source_compiles(" - #include - int main (void) { - int attr = ${PTHREAD_TEST}; - return attr; - } - " ${PTHREAD_TEST}) - endforeach() + check_c_source_compiles(" + #include + int main (void) { + int attr = PTHREAD_PRIO_INHERIT; + return attr; + } + " FLAG_HAVE_PTHREAD_PRIO_INHERIT) + set(HAVE_PTHREAD_PRIO_INHERIT ${FLAG_HAVE_PTHREAD_PRIO_INHERIT}) list(APPEND WEBP_DEP_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) endif() set(WEBP_USE_THREAD ${Threads_FOUND})