${PROJECT_BINARY_DIR}/src/include
${PROJECT_SOURCE_DIR}/src)
-if(LEVELDB_PREFIX)
- include_directories(${LEVELDB_PREFIX}/include)
- link_directories(${LEVELDB_PREFIX}/lib)
-endif()
-
if(OFED_PREFIX)
include_directories(${OFED_PREFIX}/include)
link_directories(${OFED_PREFIX}/lib)
option(WITH_RBD "Remote block storage is here" ON)
option(WITH_LEVELDB "LevelDB is here" ON)
-if(${WITH_LEVELDB})
-find_package(leveldb REQUIRED)
-find_file(HAVE_LEVELDB_FILTER_POLICY leveldb/filter_policy.h PATHS ${LEVELDB_INCLUDE_DIR})
-endif(${WITH_LEVELDB})
+if(WITH_LEVELDB)
+ if(LEVELDB_PREFIX)
+ include_directories(${LEVELDB_PREFIX}/include)
+ link_directories(${LEVELDB_PREFIX}/lib)
+ endif()
+ find_package(leveldb REQUIRED)
+ find_file(HAVE_LEVELDB_FILTER_POLICY leveldb/filter_policy.h PATHS ${LEVELDB_INCLUDE_DIR})
+endif(WITH_LEVELDB)
find_package(atomic_ops REQUIRED)
message(STATUS "${ATOMIC_OPS_LIBRARIES}")
-Subproject commit cc0dfa11dadfca8a7021687aa537a3d377f244cb
+Subproject commit e12494070432b85d5ffce7dece81c0baad457a5f
/* define if radosgw enabled */
#cmakedefine WITH_RADOSGW
+/* define if leveldb is enabled */
+#cmakedefine WITH_LEVELDB
+
/* define if radosgw's asio frontend enabled */
#cmakedefine WITH_RADOSGW_ASIO_FRONTEND
set(kv_srcs
KeyValueDB.cc
- LevelDBStore.cc
MemDB.cc
RocksDBStore.cc)
+
+if (WITH_LEVELDB)
+ list(APPEND kv_srcs LevelDBStore.cc)
+endif (WITH_LEVELDB)
+
add_library(kv_objs OBJECT ${kv_srcs})
add_library(kv STATIC $<TARGET_OBJECTS:kv_objs>)
target_include_directories(kv_objs BEFORE PUBLIC ${ROCKSDB_INCLUDE_DIR})
// vim: ts=8 sw=2 smarttab
#include "KeyValueDB.h"
+#ifdef WITH_LEVELDB
#include "LevelDBStore.h"
+#endif
#include "MemDB.h"
#ifdef HAVE_LIBROCKSDB
#include "RocksDBStore.h"
const string& dir,
void *p)
{
+#ifdef WITH_LEVELDB
if (type == "leveldb") {
return new LevelDBStore(cct, dir);
}
+#endif
#ifdef HAVE_KINETIC
if (type == "kinetic" &&
cct->check_experimental_feature_enabled("kinetic")) {
int KeyValueDB::test_init(const string& type, const string& dir)
{
+#ifdef WITH_LEVELDB
if (type == "leveldb") {
return LevelDBStore::_test_init(dir);
}
+#endif
#ifdef HAVE_KINETIC
if (type == "kinetic") {
return KineticStore::_test_init(g_ceph_context);
target_link_libraries(get_command_descriptions
mon
global
- leveldb
+ ${LEVELDB_LIBRARIES}
${EXTRALIBS}
${BLKID_LIBRARIES}
${CMAKE_DL_LIBS}