From b5724a654a4aadeabcfa3de3847768239931c687 Mon Sep 17 00:00:00 2001 From: Přemysl Janouch Date: Fri, 1 Jan 2016 19:15:18 +0100 Subject: Compile tests with pthreads support --- cmake/AddThreads.cmake | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 cmake/AddThreads.cmake (limited to 'cmake') diff --git a/cmake/AddThreads.cmake b/cmake/AddThreads.cmake new file mode 100644 index 0000000..72a4e08 --- /dev/null +++ b/cmake/AddThreads.cmake @@ -0,0 +1,23 @@ +# Public Domain + +# We're looking for pthreads only, while preferring the -pthread flag +set (CMAKE_THREAD_PREFER_PTHREAD ON) +set (THREADS_PREFER_PTHREAD_FLAG ON) +find_package (Threads) + +# Prepares the given target for threads +function (add_threads target) + if (NOT Threads_FOUND OR NOT CMAKE_USE_PTHREADS_INIT) + message (FATAL_ERROR "pthreads not found") + endif (NOT Threads_FOUND OR NOT CMAKE_USE_PTHREADS_INIT) + + if (THREADS_HAVE_PTHREAD_ARG) + set_property (TARGET ${target} PROPERTY + COMPILE_OPTIONS "-pthread") + set_property (TARGET ${target} PROPERTY + INTERFACE_COMPILE_OPTIONS "-pthread") + endif (THREADS_HAVE_PTHREAD_ARG) + if (CMAKE_THREAD_LIBS_INIT) + target_link_libraries (${target} "${CMAKE_THREAD_LIBS_INIT}") + endif (CMAKE_THREAD_LIBS_INIT) +endfunction (add_threads) -- cgit v1.2.3-70-g09d2