From b9df058885940458e4407771ab593c76a1c688af Mon Sep 17 00:00:00 2001 From: Arjun Sharma Date: Thu, 9 Sep 2021 13:56:16 +0530 Subject: [PATCH] rgw: Add cpp-redis submodule to ceph Signed-off-by: Ali Maredia Signed-off-by: Arjun Sharma --- .gitmodules | 3 +++ ceph.spec.in | 1 + src/CMakeLists.txt | 5 +++++ src/common/CMakeLists.txt | 1 + src/cpp_redis | 1 + src/librados/CMakeLists.txt | 1 + src/rgw/CMakeLists.txt | 8 ++++++++ 7 files changed, 20 insertions(+) create mode 160000 src/cpp_redis diff --git a/.gitmodules b/.gitmodules index 0508ec824644e..41ee05f6b897a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -59,6 +59,9 @@ [submodule "s3select"] path = src/s3select url = https://github.com/ceph/s3select.git +[submodule "src/cpp_redis"] + path = src/cpp_redis + url = https://github.com/alimaredia/cpp_redis.git [submodule "src/libkmip"] path = src/libkmip url = https://github.com/ceph/libkmip diff --git a/ceph.spec.in b/ceph.spec.in index f0dd8e8a941a5..6d21b3858febb 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -1349,6 +1349,7 @@ cmake .. \ -DWITH_MANPAGE:BOOL=ON \ -DWITH_PYTHON3:STRING=%{python3_version} \ -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF \ + -DWITH_CPP_REDIS=TRUE \ %if 0%{?suse_version} -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF \ %endif diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0a841c5db37ab..204142382ade5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -295,6 +295,11 @@ if(WITH_CEPHFS_JAVA) add_subdirectory(java) endif() +option(WITH_CPP_REDIS "Build radosgw with cpp_redis library" OFF) +if(WITH_CPP_REDIS) + add_subdirectory(cpp_redis) +endif() + if (WITH_BLKIN) add_subdirectory(blkin/blkin-lib) endif(WITH_BLKIN) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 1297df32405aa..42eb093f330f2 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -186,6 +186,7 @@ add_library(common-common-objs OBJECT # retrieved OpenSSL location. This is especially important when cross # compiling (e.g. targeting Windows). target_include_directories(common-common-objs PRIVATE ${OPENSSL_INCLUDE_DIR}) + # for options.cc target_compile_definitions(common-common-objs PRIVATE "CMAKE_INSTALL_LIBDIR=\"${CMAKE_INSTALL_LIBDIR}\"" diff --git a/src/cpp_redis b/src/cpp_redis new file mode 160000 index 0000000000000..f40a63d5bb334 --- /dev/null +++ b/src/cpp_redis @@ -0,0 +1 @@ +Subproject commit f40a63d5bb33487346008f123b4a5cf86babd2e3 diff --git a/src/librados/CMakeLists.txt b/src/librados/CMakeLists.txt index 9e469eb17ff95..f2c426a37f978 100644 --- a/src/librados/CMakeLists.txt +++ b/src/librados/CMakeLists.txt @@ -6,6 +6,7 @@ add_library(librados_impl STATIC librados_tp.cc) # C/C++ API + add_library(librados ${CEPH_SHARED} librados_c.cc librados_cxx.cc diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt index 8f05f7bea93b7..b0f462566d653 100644 --- a/src/rgw/CMakeLists.txt +++ b/src/rgw/CMakeLists.txt @@ -276,6 +276,14 @@ target_include_directories(rgw_common PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw/driver/rados" PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw" PUBLIC "${LUA_INCLUDE_DIR}") + +if(WITH_CPP_REDIS) + add_dependencies(rgw_common cpp_redis) + target_link_libraries(rgw_common PRIVATE cpp_redis) + target_include_directories(rgw_common PUBLIC "${CMAKE_SOURCE_DIR}/src/cpp_redis/includes") + target_include_directories(rgw_common PUBLIC "${CMAKE_SOURCE_DIR}/src/cpp_redis/tacopie/includes") +endif() + if(WITH_RADOSGW_KAFKA_ENDPOINT) # used by rgw_kafka.cc target_link_libraries(rgw_common -- 2.39.5