]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: link against libsnappy.a if WITH_STATIC_LIBSTDCXX
authorKefu Chai <kchai@redhat.com>
Mon, 23 Jul 2018 11:55:05 +0000 (19:55 +0800)
committerKefu Chai <kchai@redhat.com>
Sat, 28 Jul 2018 17:44:18 +0000 (01:44 +0800)
Signed-off-by: Kefu Chai <kchai@redhat.com>
cmake/modules/BuildRocksDB.cmake
cmake/modules/Findsnappy.cmake

index bc0b3d16f622d5037a8847534bed79a7a0e1f2a4..f3e0c5b2ee1ea9a98982747321e56897504a542c 100644 (file)
@@ -13,7 +13,12 @@ function(do_build_rocksdb)
     list(APPEND ROCKSDB_CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER})
   endif()
 
+  # libsnappy is a C++ library, we need to force rocksdb to link against
+  # libsnappy statically.
   list(APPEND ROCKSDB_CMAKE_ARGS -DWITH_SNAPPY=${SNAPPY_FOUND})
+  if(SNAPPY_FOUND AND WITH_STATIC_LIBSTDCXX)
+    list(APPEND ROCKSDB_CMAKE_ARGS -DWITH_SNAPPY_STATIC_LIB=ON)
+  endif()
   list(APPEND ROCKSDB_CMAKE_ARGS -DWITH_LZ4=${LZ4_FOUND})
   list(APPEND ROCKSDB_CMAKE_ARGS -DWITH_ZLIB=${ZLIB_FOUND})
   list(APPEND ROCKSDB_CMAKE_ARGS -DPORTABLE=ON)
index 6ed5fda3d57dd83a806781b3d4d0c075d3e59e01..644eef33bc0b381b52723356bfa7bb992691178b 100644 (file)
@@ -5,13 +5,21 @@
 # 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)
 
 find_library(SNAPPY_LIBRARIES
   NAMES snappy
-  HINTS ${SNAPPY_ROOT_DIR}/lib)
+  HINTS
+    ${PC_snappy_LIBRARY_DIRS}
+    ${SNAPPY_ROOT_DIR}/lib)
 
 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(snappy DEFAULT_MSG SNAPPY_LIBRARIES SNAPPY_INCLUDE_DIR)