| # ################################################################ |
| # ZSTD Dependencies Configuration |
| # ################################################################ |
| |
| # Function to handle HP-UX thread configuration |
| function(setup_hpux_threads) |
| find_package(Threads) |
| if(NOT Threads_FOUND) |
| set(CMAKE_USE_PTHREADS_INIT 1 PARENT_SCOPE) |
| set(CMAKE_THREAD_LIBS_INIT -lpthread PARENT_SCOPE) |
| set(CMAKE_HAVE_THREADS_LIBRARY 1 PARENT_SCOPE) |
| set(Threads_FOUND TRUE PARENT_SCOPE) |
| endif() |
| endfunction() |
| |
| # Configure threading support |
| if(ZSTD_MULTITHREAD_SUPPORT AND UNIX) |
| if(CMAKE_SYSTEM_NAME MATCHES "HP-UX") |
| setup_hpux_threads() |
| else() |
| set(THREADS_PREFER_PTHREAD_FLAG ON) |
| find_package(Threads REQUIRED) |
| endif() |
| |
| if(CMAKE_USE_PTHREADS_INIT) |
| set(THREADS_LIBS "${CMAKE_THREAD_LIBS_INIT}") |
| else() |
| message(SEND_ERROR "ZSTD currently does not support thread libraries other than pthreads") |
| endif() |
| endif() |