../../include/uuid.cc
../../include/utime.cc
$<TARGET_OBJECTS:common_texttable_obj>)
-if(WITH_RADOSGW)
- list(APPEND dencoder_srcs
- ${CMAKE_SOURCE_DIR}/src/rgw/rgw_dencoder.cc)
-endif()
-
add_executable(ceph-dencoder ${dencoder_srcs})
+ set_target_properties(ceph-dencoder PROPERTIES
+ JOB_POOL_COMPILE heavy_compile_job_pool
+ JOB_POOL_LINK heavy_link_job_pool)
+set(denc_plugin_dir ${CEPH_INSTALL_PKGLIBDIR}/denc)
+add_custom_target(ceph-dencoder-modules)
+
+function(add_denc_mod name)
+ add_library(${name} SHARED
+ ${ARGN})
+ set_target_properties(${name} PROPERTIES
+ PREFIX ""
+ OUTPUT_NAME ${name}
+ CXX_VISIBILITY_PRESET hidden
+ VISIBILITY_INLINES_HIDDEN ON)
+ install(
+ TARGETS ${name}
+ DESTINATION ${denc_plugin_dir})
+ add_dependencies(ceph-dencoder-modules
+ ${name})
+endfunction()
+
+add_denc_mod(denc-mod-common
+ common_types.cc)
+target_link_libraries(denc-mod-common
+ journal
+ cls_cas_internal
+ cls_lock_client
+ cls_refcount_client
+ cls_timeindex_client)
+add_denc_mod(denc-mod-osd
+ osd_types.cc)
+target_link_libraries(denc-mod-osd
+ os
+ osd
+ mon)
+
if(WITH_RADOSGW)
- list(APPEND DENCODER_EXTRALIBS
+ add_denc_mod(denc-mod-rgw
+ rgw_types.cc
+ ${CMAKE_SOURCE_DIR}/src/rgw/rgw_dencoder.cc)
+ target_link_libraries(denc-mod-rgw
rgw_a
- cls_rgw_client)
+ cls_rgw_client
+ cls_journal_client)
if(WITH_RADOSGW_AMQP_ENDPOINT)
- list(APPEND DENCODER_EXTRALIBS
+ target_link_libraries(denc-mod-rgw
rabbitmq ssl)
endif()
if(WITH_RADOSGW_KAFKA_ENDPOINT)