]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commitdiff
cmake: link against libsnappy.a if WITH_SNAPPY_STATIC_LIB lru+libsnappy.a
authorKefu Chai <tchaikov@gmail.com>
Wed, 25 Jul 2018 11:49:38 +0000 (19:49 +0800)
committerKefu Chai <tchaikov@gmail.com>
Wed, 25 Jul 2018 11:50:31 +0000 (19:50 +0800)
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
CMakeLists.txt
cmake/modules/Findsnappy.cmake

index 7a5df4213e4952db250fb4c51f19c33a13a0a0e6..d25a2097bf36f09220bf7cae662ee1eedfef5fec 100644 (file)
@@ -80,6 +80,8 @@ else()
   endif()
 
   if(WITH_SNAPPY)
+    option(WITH_SNAPPY_STATIC_LIB "build with libsnappy.a" OFF)
+    set(SNAPPY_USE_STATIC_LIB ${WITH_SNAPPY_STATIC_LIB})
     find_package(snappy REQUIRED)
     add_definitions(-DSNAPPY)
     include_directories(${SNAPPY_INCLUDE_DIR})
index 6ed5fda3d57dd83a806781b3d4d0c075d3e59e01..aaa47004a8dfe83ea2da28179c174ce81220fdcc 100644 (file)
@@ -5,13 +5,29 @@
 # SNAPPY_LIBRARIES - List of libraries when using snappy.
 # SNAPPY_FOUND - True if snappy found.
 
+find_package(PkgConfig)
+pkg_search_module(PC_snappy
+  QUIET snappy)
+
 find_path(SNAPPY_INCLUDE_DIR
   NAMES snappy.h
-  HINTS ${SNAPPY_ROOT_DIR}/include)
+  HINTS
+    ${PC_snappy_INCLUDE_DIRS}
+    ${SNAPPY_ROOT_DIR}/include)
+
 
+if(SNAPPY_USE_STATIC_LIB)
+  set(_snappy_orig_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
+  set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX})
+endif()
 find_library(SNAPPY_LIBRARIES
   NAMES snappy
-  HINTS ${SNAPPY_ROOT_DIR}/lib)
+  HINTS
+    ${PC_snappy_LIBRARY_DIRS}
+    ${SNAPPY_ROOT_DIR}/lib)
+if(SNAPPY_USE_STATIC_LIB)
+  set(CMAKE_FIND_LIBRARY_SUFFIXES ${_snappy_orig_FIND_LIBRARY_SUFFIXES})
+endif()
 
 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(snappy DEFAULT_MSG SNAPPY_LIBRARIES SNAPPY_INCLUDE_DIR)