diff --git a/CMakeLists.txt b/CMakeLists.txt index 302575cb7..aef2c6b5f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,18 +107,32 @@ else() endif() endif() - # No config file for this if(WITH_GFLAGS) - find_package(gflags REQUIRED) + # Config with namespace available since gflags 2.2.2 + option(GFLAGS_USE_TARGET_NAMESPACE "Use gflags import target with namespace." ON) + find_package(gflags CONFIG) + if(gflags_FOUND) + if(TARGET ${GFLAGS_TARGET}) + # Config with GFLAGS_TARGET available since gflags 2.2.0 + list(APPEND THIRDPARTY_LIBS ${GFLAGS_TARGET}) + else() + # Config with GFLAGS_LIBRARIES available since gflags 2.1.0 + list(APPEND THIRDPARTY_LIBS ${GFLAGS_LIBRARIES}) + endif() + else() + find_package(gflags REQUIRED) + list(APPEND THIRDPARTY_LIBS gflags::gflags) + endif() add_definitions(-DGFLAGS=1) - include_directories(${gflags_INCLUDE_DIR}) - list(APPEND THIRDPARTY_LIBS gflags::gflags) endif() if(WITH_SNAPPY) - find_package(snappy REQUIRED) + find_package(Snappy CONFIG) + if(NOT Snappy_FOUND) + find_package(Snappy REQUIRED) + endif() add_definitions(-DSNAPPY) - list(APPEND THIRDPARTY_LIBS snappy::snappy) + list(APPEND THIRDPARTY_LIBS Snappy::snappy) endif() if(WITH_ZLIB) diff --git a/cmake/modules/FindSnappy.cmake b/cmake/modules/FindSnappy.cmake new file mode 100644 index 000000000..0b0dbf861 --- /dev/null +++ b/cmake/modules/FindSnappy.cmake @@ -0,0 +1,29 @@ +# - Find Snappy +# Find the snappy compression library and includes +# +# Snappy_INCLUDE_DIRS - where to find snappy.h, etc. +# Snappy_LIBRARIES - List of libraries when using snappy. +# Snappy_FOUND - True if snappy found. + +find_path(Snappy_INCLUDE_DIRS + NAMES snappy.h + HINTS ${snappy_ROOT_DIR}/include) + +find_library(Snappy_LIBRARIES + NAMES snappy + HINTS ${snappy_ROOT_DIR}/lib) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Snappy DEFAULT_MSG Snappy_LIBRARIES Snappy_INCLUDE_DIRS) + +mark_as_advanced( + Snappy_LIBRARIES + Snappy_INCLUDE_DIRS) + +if(Snappy_FOUND AND NOT (TARGET Snappy::snappy)) + add_library (Snappy::snappy UNKNOWN IMPORTED) + set_target_properties(Snappy::snappy + PROPERTIES + IMPORTED_LOCATION ${Snappy_LIBRARIES} + INTERFACE_INCLUDE_DIRECTORIES ${Snappy_INCLUDE_DIRS}) +endif() diff --git a/cmake/modules/Findgflags.cmake b/cmake/modules/Findgflags.cmake index d9183fbf8..786def27b 100644 --- a/cmake/modules/Findgflags.cmake +++ b/cmake/modules/Findgflags.cmake @@ -1,8 +1,8 @@ # - Find gflags library # Find the gflags includes and library # -# gflags_INCLUDE_DIR - where to find gflags.h. -# gflags_LIBRARIES - List of libraries when using gflags. +# GFLAGS_INCLUDE_DIR - where to find gflags.h. +# GFLAGS_LIBRARIES - List of libraries when using gflags. # gflags_FOUND - True if gflags found. find_path(GFLAGS_INCLUDE_DIR diff --git a/cmake/modules/Findsnappy.cmake b/cmake/modules/Findsnappy.cmake deleted file mode 100644 index 39bba6bd2..000000000 --- a/cmake/modules/Findsnappy.cmake +++ /dev/null @@ -1,29 +0,0 @@ -# - Find Snappy -# Find the snappy compression library and includes -# -# snappy_INCLUDE_DIRS - where to find snappy.h, etc. -# snappy_LIBRARIES - List of libraries when using snappy. -# snappy_FOUND - True if snappy found. - -find_path(snappy_INCLUDE_DIRS - NAMES snappy.h - HINTS ${snappy_ROOT_DIR}/include) - -find_library(snappy_LIBRARIES - NAMES snappy - HINTS ${snappy_ROOT_DIR}/lib) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(snappy DEFAULT_MSG snappy_LIBRARIES snappy_INCLUDE_DIRS) - -mark_as_advanced( - snappy_LIBRARIES - snappy_INCLUDE_DIRS) - -if(snappy_FOUND AND NOT (TARGET snappy::snappy)) - add_library (snappy::snappy UNKNOWN IMPORTED) - set_target_properties(snappy::snappy - PROPERTIES - IMPORTED_LOCATION ${snappy_LIBRARIES} - INTERFACE_INCLUDE_DIRECTORIES ${snappy_INCLUDE_DIRS}) -endif()