From 2d955ebb5fe9f43b2988a7b1e6cb176f1c146d8a Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sat, 24 Jul 2021 15:39:08 +0800 Subject: [PATCH] cmake: build rgw_kmip_client_impl as part of radosgw instead compiling rgw_kmip as an object library, just include rgw_kmip_client_impl.cc in radosgw. simpler this way, as rgw_kmip_client_impl.cc includes rgw/rgw_common.h. while rgw_common.cc is indirectly included by ${rgw_libs} as a part of rgw_a, so it would be simpler if we just compile rgw_kmip_client_impl.cc as a part of radosgw, and let radosgw link against ${rgw_libs}, which are able to take care of the include directories of 3rd party libraries, like spawn/spawn.hpp, which is pulled in by rgw/rgw_common.h. Signed-off-by: Kefu Chai --- src/rgw/CMakeLists.txt | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt index 73364c3aedb..6f817b6524f 100644 --- a/src/rgw/CMakeLists.txt +++ b/src/rgw/CMakeLists.txt @@ -173,14 +173,6 @@ target_include_directories(rgw_common PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw") target_include_directories(rgw_common PRIVATE "${LUA_INCLUDE_DIR}") target_include_directories(rgw_common SYSTEM PRIVATE "${ICU_INCLUDE_DIRS}") - -set(librgw_kmip_srcs - rgw_kmip_client_impl.cc) - -add_library(rgw_kmip OBJECT ${librgw_kmip_srcs}) - -target_include_directories(rgw_kmip PRIVATE "${CMAKE_SOURCE_DIR}/src/libkmip") - target_include_directories(rgw_common PRIVATE $) target_compile_definitions(rgw_common PRIVATE @@ -298,11 +290,16 @@ add_library(rgw_schedulers STATIC ${rgw_schedulers_srcs}) target_link_libraries(rgw_schedulers PUBLIC dmclock::dmclock spawn) -add_library(radosgw SHARED ${radosgw_srcs} ${rgw_a_srcs} rgw_main.cc - $) +add_library(radosgw SHARED + ${radosgw_srcs} + ${rgw_a_srcs} + rgw_main.cc + rgw_kmip_client_impl.cc) target_compile_definitions(radosgw PUBLIC "-DCLS_CLIENT_HIDE_IOCTX") -target_include_directories(radosgw PUBLIC "${CMAKE_SOURCE_DIR}/src/dmclock/support/src") +target_include_directories(radosgw + PUBLIC "${CMAKE_SOURCE_DIR}/src/dmclock/support/src" + PRIVATE "${CMAKE_SOURCE_DIR}/src/libkmip") target_include_directories(radosgw SYSTEM PUBLIC "../rapidjson/include") target_link_libraries(radosgw -- 2.39.5