From: Christopher Dykes Date: Fri, 14 Apr 2017 20:51:43 +0000 (-0700) Subject: Add support for building without PThread to the CMake files X-Git-Tag: v2017.04.17.00~9 X-Git-Url: http://plrg.eecs.uci.edu/git/?p=folly.git;a=commitdiff_plain;h=b8d8ea5abc428bc1991357e40a086b3cb34e68d9 Add support for building without PThread to the CMake files Summary: Because, soon it won't be required. Reviewed By: yfeldblum Differential Revision: D4892076 fbshipit-source-id: 6bfbf5bf523262659c0af336f659398ae8545e50 --- diff --git a/CMake/folly-config.h.cmake b/CMake/folly-config.h.cmake index e3c13960..7841aa08 100755 --- a/CMake/folly-config.h.cmake +++ b/CMake/folly-config.h.cmake @@ -16,6 +16,8 @@ #pragma once +#cmakedefine FOLLY_HAVE_PTHREAD + #define FOLLY_HAVE_LIBGFLAGS 1 #define FOLLY_UNUSUAL_GFLAGS_NAMESPACE 1 #define FOLLY_GFLAGS_NAMESPACE google @@ -24,7 +26,6 @@ #define FOLLY_HAVE_MALLOC_H 1 #define FOLLY_HAVE_MEMRCHR 0 #define FOLLY_HAVE_PREADV 0 -#define FOLLY_HAVE_PTHREAD_SPINLOCK_T 1 #define FOLLY_HAVE_PWRITEV 0 #define FOLLY_HAVE_SCHED_H 1 #define FOLLY_HAVE_STD__IS_TRIVIALLY_COPYABLE 1 diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake index 8f972c5f..211c6fbf 100755 --- a/CMake/folly-deps.cmake +++ b/CMake/folly-deps.cmake @@ -15,4 +15,4 @@ find_package(GFlags MODULE REQUIRED) find_package(GLog MODULE REQUIRED) find_package(LibEvent MODULE REQUIRED) find_package(OpenSSL MODULE REQUIRED) -find_package(PThread MODULE REQUIRED) +find_package(PThread MODULE) diff --git a/CMakeLists.txt b/CMakeLists.txt index 030d1c7b..36701464 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -62,6 +62,11 @@ add_custom_command( WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/folly/build/ COMMENT "Generating the group varint tables..." VERBATIM ) + +include(folly-deps) # Find the required packages +if (LIBPTHREAD_FOUND) + set(FOLLY_HAVE_PTHREAD ON) +endif() configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/CMake/folly-config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/folly/folly-config.h @@ -125,14 +130,12 @@ source_group("folly\\build" FILES ${CMAKE_CURRENT_BINARY_DIR}/folly/build/GroupVarintTables.cpp ) -include(folly-deps) # Find the required packages target_include_directories(folly_base PUBLIC ${DOUBLE_CONVERSION_INCLUDE_DIR} ${LIBGFLAGS_INCLUDE_DIR} ${LIBGLOG_INCLUDE_DIR} ${LIBEVENT_INCLUDE_DIR} - ${LIBPTHREAD_INCLUDE_DIRS} ) target_link_libraries(folly_base PUBLIC @@ -147,11 +150,14 @@ target_link_libraries(folly_base ${LIBEVENT_LIB} ${LIBGFLAGS_LIBRARY} ${LIBGLOG_LIBRARY} - ${LIBPTHREAD_LIBRARIES} OpenSSL::SSL OpenSSL::Crypto Ws2_32.lib ) +if (FOLLY_HAVE_PTHREAD) + target_include_directories(folly_base PUBLIC ${LIBPTHREAD_INCLUDE_DIRS}) + target_link_libraries(folly_base PUBLIC ${LIBPTHREAD_LIBRARIES}) +endif() # Now to generate the fingerprint tables add_executable(GenerateFingerprintTables