From c3202af4371eaae4249350b270e17333244792f2 Mon Sep 17 00:00:00 2001 From: Marat Dukhan Date: Fri, 3 Nov 2017 16:02:16 -0700 Subject: CMake: replace PTHREADPOOL_BUILD_SHARED with PTHREADPOOL_LIBRARY_TYPE option --- CMakeLists.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index e6d2a60..20a786d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,8 @@ INCLUDE(GNUInstallDirs) PROJECT(pthreadpool C CXX) # ---[ Options. -OPTION(PTHREADPOOL_BUILD_SHARED "Build pthreadpool as a shared library" OFF) +SET(PTHREADPOOL_LIBRARY_TYPE "default" CACHE STRING "Type of library (shared, static, or default) to build") +SET_PROPERTY(CACHE PTHREADPOOL_LIBRARY_TYPE PROPERTY STRINGS default static shared) OPTION(PTHREADPOOL_BUILD_TESTS "Build pthreadpool unit tests" ON) OPTION(PTHREADPOOL_BUILD_BENCHMARKS "Build pthreadpool micro-benchmarks" ON) @@ -67,9 +68,11 @@ ENDIF() TARGET_INCLUDE_DIRECTORIES(pthreadpool_interface INTERFACE include) INSTALL(FILES include/pthreadpool.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -IF(PTHREADPOOL_BUILD_SHARED) +IF(PTHREADPOOL_LIBRARY_TYPE STREQUAL "default") + ADD_LIBRARY(pthreadpool ${PTHREADPOOL_SRCS}) +ELSEIF(PTHREADPOOL_LIBRARY_TYPE STREQUAL "shared") ADD_LIBRARY(pthreadpool SHARED ${PTHREADPOOL_SRCS}) -ELSE() +ELSEIF(PTHREADPOOL_LIBRARY_TYPE STREQUAL "static") ADD_LIBRARY(pthreadpool STATIC ${PTHREADPOOL_SRCS}) ENDIF() TARGET_LINK_LIBRARIES(pthreadpool PUBLIC pthreadpool_interface) -- cgit v1.2.3