From: Kefu Chai Date: Wed, 6 Jan 2016 11:37:49 +0000 (+0800) Subject: cmake: detect bzip2 and lz4 for rocksdb X-Git-Tag: v10.0.3~95^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3ded44dc2daf6bd3718fd80b8a07eef8c60d87e7;p=ceph.git cmake: detect bzip2 and lz4 for rocksdb * this change is the cmake port of 911e7a0. the rocksdb's Makefile will detect the installed libbz2 and libz4 by its own. if the building env happens to have these libraries installed, a link time dependency is introduced. so we are forced to link against them. * do not REQUIRE BZip2 in cmake anymore * only link against bzip2 if it is detected Signed-off-by: Kefu Chai --- diff --git a/CMakeLists.txt b/CMakeLists.txt index fac55403241..7b267745c66 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -243,9 +243,8 @@ endif(WITH_REENTRANT_STRSIGNAL) set(HAVE_LIBROCKSDB 1) -# -lbz2 and -lz link into kv +# -lz link into kv find_package(ZLIB REQUIRED) -find_package(BZip2 REQUIRED) #option for LTTng option(WITH_LTTNG "LTTng tracing is enabled" ON) diff --git a/src/kv/CMakeLists.txt b/src/kv/CMakeLists.txt index 3c088991a08..27773629add 100644 --- a/src/kv/CMakeLists.txt +++ b/src/kv/CMakeLists.txt @@ -6,4 +6,14 @@ add_library(kv_objs OBJECT ${kv_srcs}) add_library(kv STATIC $) target_include_directories(kv_objs PUBLIC ${ROCKSDB_INCLUDE_DIR}) target_include_directories(kv PUBLIC ${ROCKSDB_INCLUDE_DIR}) -target_link_libraries(kv bz2 z leveldb snappy rocksdb) +target_link_libraries(kv z leveldb snappy rocksdb) + +# rocksdb detects bzlib and lz4 in its Makefile, which forces us to do the same. +find_package(BZip2 QUIET) +if (BZIP2_FOUND) + target_link_libraries(kv ${BZIP2_LIBRARIES}) +endif (BZIP2_FOUND) +find_package(LZ4 QUIET) +if (LZ4_FOUND) + target_link_libraries(kv ${LZ4_LIBRARY}) +endif (LZ4_FOUND)