diff options
author | Marat Dukhan <maratek@gmail.com> | 2017-10-26 01:11:11 +0000 |
---|---|---|
committer | Marat Dukhan <maratek@gmail.com> | 2017-10-26 01:11:11 +0000 |
commit | fb70127e4ecaf276bfad4299d65e4688a5fa9f84 (patch) | |
tree | 2ffea96f7e930b33590665c6dff334752eb51058 | |
parent | 6d3d7ed4f2568fb237a8c82ffbbb25a596179e20 (diff) | |
download | pthreadpool-fb70127e4ecaf276bfad4299d65e4688a5fa9f84.tar.gz |
CMake: 2.8.12 compatibility
-rw-r--r-- | CMakeLists.txt | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 3658bb2..3076e2e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR) INCLUDE(GNUInstallDirs) # ---[ Project -PROJECT(pthreadpool LANGUAGES C CXX) +PROJECT(pthreadpool C CXX) # ---[ Options. OPTION(PTHREADPOOL_BUILD_TESTS "Build pthreadpool unit tests" ON) @@ -57,7 +57,12 @@ ELSE() SET(PTHREADPOOL_SRCS src/threadpool-pthreads.c) ENDIF() -ADD_LIBRARY(pthreadpool_interface INTERFACE) +IF(${CMAKE_VERSION} VERSION_LESS "3.0") + ADD_LIBRARY(pthreadpool_interface STATIC include/pthreadpool.h) + SET_TARGET_PROPERTIES(pthreadpool_interface PROPERTIES LINKER_LANGUAGE C) +ELSE() + ADD_LIBRARY(pthreadpool_interface INTERFACE) +ENDIF() TARGET_INCLUDE_DIRECTORIES(pthreadpool_interface INTERFACE include) INSTALL(FILES include/pthreadpool.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) @@ -65,9 +70,14 @@ ADD_LIBRARY(pthreadpool ${PTHREADPOOL_SRCS}) TARGET_LINK_LIBRARIES(pthreadpool PUBLIC pthreadpool_interface) IF(NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten") SET(CMAKE_THREAD_PREFER_PTHREAD TRUE) - SET(THREADS_PREFER_PTHREAD_FLAG TRUE) FIND_PACKAGE(Threads REQUIRED) - TARGET_LINK_LIBRARIES(pthreadpool PUBLIC Threads::Threads) + IF(CMAKE_USE_PTHREADS_INIT) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread") + ENDIF() + TARGET_LINK_LIBRARIES(pthreadpool PUBLIC ${CMAKE_THREAD_LIBS_INIT}) +ENDIF() +IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") + TARGET_COMPILE_DEFINITIONS(pthreadpool PRIVATE -D_GNU_SOURCE) ENDIF() # ---[ Configure FXdiv |