diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake index 211c6fbf..fbcbddf0 100755 --- a/CMake/folly-deps.cmake +++ b/CMake/folly-deps.cmake @@ -10,9 +10,26 @@ find_package(Boost 1.55.0 MODULE thread REQUIRED ) + find_package(DoubleConversion MODULE REQUIRED) -find_package(GFlags MODULE REQUIRED) -find_package(GLog MODULE REQUIRED) -find_package(LibEvent MODULE REQUIRED) + +find_package(gflags CONFIG) +if(NOT TARGET gflags) + message(STATUS "MODULE: GFlags") + find_package(GFlags MODULE REQUIRED) +endif() + +find_package(glog CONFIG) +if(NOT TARGET glog::glog) + message(STATUS "MODULE: GLog") + find_package(GLog MODULE REQUIRED) +endif() + +find_package(Libevent CONFIG) +if(NOT TARGET event) + message(STATUS "MODULE: Libevent") + find_package(LibEvent MODULE REQUIRED) +endif() + find_package(OpenSSL MODULE REQUIRED) find_package(PThread MODULE) diff --git a/CMakeLists.txt b/CMakeLists.txt index cdc992a8..c0231402 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -141,9 +141,38 @@ set(FOLLY_SHINY_DEPENDENCIES set(FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY} - ${LIBEVENT_LIB} - ${LIBGFLAGS_LIBRARY} - ${LIBGLOG_LIBRARY} +) + +set(FOLLY_INCLUDE_DIRECTORIES + ${DOUBLE_CONVERSION_INCLUDE_DIR} +) + +if(TARGET gflags_static) + set(FOLLY_SHINY_DEPENDENCIES ${FOLLY_SHINY_DEPENDENCIES} gflags_static) +elseif(TARGET gflags) + set(FOLLY_SHINY_DEPENDENCIES ${FOLLY_SHINY_DEPENDENCIES} gflags) +else() + set(FOLLY_LINK_LIBRARIES ${FOLLY_LINK_LIBRARIES} ${LIBGFLAGS_LIBRARY}) + set(FOLLY_INCLUDE_DIRECTORIES ${FOLLY_INCLUDE_DIRECTORIES} ${LIBGFLAGS_INCLUDE_DIR}) +endif() + +if(TARGET glog::glog) + set(FOLLY_SHINY_DEPENDENCIES ${FOLLY_SHINY_DEPENDENCIES} glog::glog) +else() + set(FOLLY_LINK_LIBRARIES ${FOLLY_LINK_LIBRARIES} ${LIBGLOG_LIBRARY}) + set(FOLLY_INCLUDE_DIRECTORIES ${FOLLY_INCLUDE_DIRECTORIES} ${LIBGLOG_INCLUDE_DIR}) +endif() + +if(TARGET event) + set(FOLLY_SHINY_DEPENDENCIES ${FOLLY_SHINY_DEPENDENCIES} event) +else() + set(FOLLY_LINK_LIBRARIES ${FOLLY_LINK_LIBRARIES} ${LIBEVENT_LIB}) + set(FOLLY_INCLUDE_DIRECTORIES ${FOLLY_INCLUDE_DIRECTORIES} ${LIBEVENT_INCLUDE_DIR}) +endif() + + +set(FOLLY_LINK_LIBRARIES + ${FOLLY_LINK_LIBRARIES} Iphlpapi.lib Ws2_32.lib @@ -152,15 +181,12 @@ set(FOLLY_LINK_LIBRARIES target_include_directories(folly_base PUBLIC - ${DOUBLE_CONVERSION_INCLUDE_DIR} - ${LIBGFLAGS_INCLUDE_DIR} - ${LIBGLOG_INCLUDE_DIR} - ${LIBEVENT_INCLUDE_DIR} - $ + ${FOLLY_INCLUDE_DIRECTORIES} ) foreach (LIB ${FOLLY_SHINY_DEPENDENCIES}) target_include_directories(folly_base PUBLIC $) + target_compile_definitions(folly_base PUBLIC $) endforeach() if (FOLLY_HAVE_PTHREAD)