]>
Commit | Line | Data |
---|---|---|
11fdf7f2 TL |
1 | ## dencoder |
2 | set_source_files_properties( | |
3 | ceph_dencoder.cc | |
4 | APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_BINARY_DIR}/src/include/ceph_ver.h) | |
5 | ||
6 | if(HAS_VTA) | |
7 | set_source_files_properties(ceph_dencoder.cc | |
8 | PROPERTIES COMPILE_FLAGS -fno-var-tracking-assignments) | |
9 | endif() | |
10 | ||
11 | set(dencoder_srcs | |
12 | ceph_dencoder.cc | |
9f95a23c TL |
13 | ../../include/uuid.cc |
14 | ../../include/utime.cc | |
11fdf7f2 | 15 | $<TARGET_OBJECTS:common_texttable_obj>) |
11fdf7f2 | 16 | add_executable(ceph-dencoder ${dencoder_srcs}) |
20effc67 TL |
17 | set_target_properties(ceph-dencoder PROPERTIES |
18 | JOB_POOL_COMPILE heavy_compile_job_pool | |
19 | JOB_POOL_LINK heavy_link_job_pool) | |
20 | ||
21 | set(denc_plugin_dir ${CEPH_INSTALL_FULL_PKGLIBDIR}/denc) | |
22 | add_custom_target(ceph-dencoder-modules) | |
23 | ||
24 | function(add_denc_mod name) | |
25 | add_library(${name} SHARED | |
26 | ${ARGN}) | |
27 | set_target_properties(${name} PROPERTIES | |
28 | PREFIX "" | |
29 | OUTPUT_NAME ${name} | |
30 | CXX_VISIBILITY_PRESET hidden | |
31 | VISIBILITY_INLINES_HIDDEN ON) | |
32 | install( | |
33 | TARGETS ${name} | |
34 | DESTINATION ${denc_plugin_dir}) | |
35 | add_dependencies(ceph-dencoder-modules | |
36 | ${name}) | |
37 | endfunction() | |
38 | ||
39 | add_denc_mod(denc-mod-common | |
40 | common_types.cc) | |
41 | target_link_libraries(denc-mod-common | |
42 | journal | |
43 | cls_cas_internal | |
44 | cls_lock_client | |
45 | cls_refcount_client | |
46 | cls_timeindex_client) | |
47 | add_denc_mod(denc-mod-osd | |
48 | osd_types.cc) | |
49 | target_link_libraries(denc-mod-osd | |
50 | os | |
51 | osd | |
52 | mon) | |
11fdf7f2 TL |
53 | |
54 | if(WITH_RADOSGW) | |
20effc67 TL |
55 | add_denc_mod(denc-mod-rgw |
56 | rgw_types.cc | |
57 | ${CMAKE_SOURCE_DIR}/src/rgw/rgw_dencoder.cc) | |
58 | target_link_libraries(denc-mod-rgw | |
11fdf7f2 | 59 | rgw_a |
20effc67 TL |
60 | cls_rgw_client |
61 | cls_journal_client) | |
11fdf7f2 | 62 | if(WITH_RADOSGW_AMQP_ENDPOINT) |
20effc67 | 63 | target_link_libraries(denc-mod-rgw |
f67539c2 | 64 | rabbitmq ssl) |
11fdf7f2 | 65 | endif() |
9f95a23c | 66 | if(WITH_RADOSGW_KAFKA_ENDPOINT) |
20effc67 | 67 | target_link_libraries(denc-mod-rgw |
9f95a23c TL |
68 | rdkafka) |
69 | endif() | |
11fdf7f2 TL |
70 | endif() |
71 | ||
72 | if(WITH_RBD) | |
20effc67 TL |
73 | add_denc_mod(denc-mod-rbd |
74 | rbd_types.cc) | |
75 | target_link_libraries(denc-mod-rbd | |
11fdf7f2 TL |
76 | cls_rbd_client |
77 | rbd_mirror_types | |
78 | rbd_types | |
79 | rbd_replay_types) | |
80 | if(WITH_KRBD) | |
20effc67 | 81 | target_link_libraries(denc-mod-rbd |
11fdf7f2 TL |
82 | krbd) |
83 | endif() | |
84 | endif() | |
85 | ||
86 | if(WITH_CEPHFS) | |
20effc67 TL |
87 | add_denc_mod(denc-mod-cephfs |
88 | mds_types.cc) | |
89 | target_link_libraries(denc-mod-cephfs | |
11fdf7f2 TL |
90 | mds) |
91 | endif() | |
92 | ||
20effc67 TL |
93 | target_compile_definitions(ceph-dencoder PRIVATE |
94 | "CEPH_DENC_MOD_DIR=\"${denc_plugin_dir}\"") | |
95 | ||
11fdf7f2 | 96 | target_link_libraries(ceph-dencoder |
20effc67 | 97 | StdFilesystem::filesystem |
11fdf7f2 | 98 | global |
11fdf7f2 | 99 | ${DENCODER_EXTRALIBS} |
11fdf7f2 TL |
100 | cls_log_client |
101 | cls_version_client | |
102 | cls_user_client | |
f67539c2 | 103 | cls_cas_client |
11fdf7f2 | 104 | ${EXTRALIBS} |
20effc67 TL |
105 | ${CMAKE_DL_LIBS} |
106 | ${ALLOC_LIBS}) | |
11fdf7f2 | 107 | install(TARGETS ceph-dencoder DESTINATION bin) |