2 set_source_files_properties(
4 APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_BINARY_DIR}/src/include/ceph_ver.h)
7 set_source_files_properties(ceph_dencoder.cc
8 PROPERTIES COMPILE_FLAGS -fno-var-tracking-assignments)
14 ../../include/utime.cc
15 $<TARGET_OBJECTS:common_texttable_obj>)
16 add_executable(ceph-dencoder ${dencoder_srcs})
17 set_target_properties(ceph-dencoder PROPERTIES
18 JOB_POOL_COMPILE heavy_compile_job_pool
19 JOB_POOL_LINK heavy_link_job_pool)
21 set(denc_plugin_dir ${CEPH_INSTALL_FULL_PKGLIBDIR}/denc)
22 add_custom_target(ceph-dencoder-modules)
24 function(add_denc_mod name)
25 add_library(${name} SHARED
27 set_target_properties(${name} PROPERTIES
30 CXX_VISIBILITY_PRESET hidden
31 VISIBILITY_INLINES_HIDDEN ON)
34 DESTINATION ${denc_plugin_dir})
35 add_dependencies(ceph-dencoder-modules
39 add_denc_mod(denc-mod-common
41 target_link_libraries(denc-mod-common
47 add_denc_mod(denc-mod-osd
49 target_link_libraries(denc-mod-osd
55 add_denc_mod(denc-mod-rgw
57 ${CMAKE_SOURCE_DIR}/src/rgw/rgw_dencoder.cc)
58 target_link_libraries(denc-mod-rgw
62 if(WITH_RADOSGW_AMQP_ENDPOINT)
63 target_link_libraries(denc-mod-rgw
66 if(WITH_RADOSGW_KAFKA_ENDPOINT)
67 target_link_libraries(denc-mod-rgw
73 add_denc_mod(denc-mod-rbd
75 target_link_libraries(denc-mod-rbd
81 target_link_libraries(denc-mod-rbd
87 add_denc_mod(denc-mod-cephfs
89 target_link_libraries(denc-mod-cephfs
93 target_compile_definitions(ceph-dencoder PRIVATE
94 "CEPH_DENC_MOD_DIR=\"${denc_plugin_dir}\"")
96 target_link_libraries(ceph-dencoder
97 StdFilesystem::filesystem
107 install(TARGETS ceph-dencoder DESTINATION bin)