blob: a92ac5e6997381e091cdb7fbcabaa0649a71fd28 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
## dencoder
set_source_files_properties(
ceph_dencoder.cc
APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_BINARY_DIR}/src/include/ceph_ver.h)
if(HAS_VTA)
set_source_files_properties(ceph_dencoder.cc
PROPERTIES COMPILE_FLAGS -fno-var-tracking-assignments)
endif()
set(dencoder_srcs
ceph_dencoder.cc
../../include/uuid.cc
../../include/utime.cc
$<TARGET_OBJECTS:common_texttable_obj>)
add_executable(ceph-dencoder ${dencoder_srcs})
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
erasure_code)
if(WITH_RADOSGW)
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_journal_client)
if(WITH_RADOSGW_AMQP_ENDPOINT)
target_link_libraries(denc-mod-rgw
rabbitmq ssl)
endif()
if(WITH_RADOSGW_KAFKA_ENDPOINT)
target_link_libraries(denc-mod-rgw
rdkafka)
endif()
if(WITH_RADOSGW_LUA_PACKAGES)
target_link_libraries(denc-mod-rgw
Boost::filesystem)
endif()
endif()
if(WITH_RBD)
add_denc_mod(denc-mod-rbd
rbd_types.cc)
target_link_libraries(denc-mod-rbd
cls_rbd_client
rbd_mirror_types
rbd_types
rbd_replay_types)
if(WITH_KRBD)
target_link_libraries(denc-mod-rbd
krbd)
endif()
endif()
if(WITH_CEPHFS)
add_denc_mod(denc-mod-cephfs
mds_types.cc)
target_link_libraries(denc-mod-cephfs
mds)
endif()
target_compile_definitions(ceph-dencoder PRIVATE
"CEPH_DENC_MOD_DIR=\"${denc_plugin_dir}\"")
target_link_libraries(ceph-dencoder
StdFilesystem::filesystem
global
${DENCODER_EXTRALIBS}
cls_log_client
cls_version_client
cls_user_client
cls_cas_client
${ALLOC_LIBS}
${EXTRALIBS}
${CMAKE_DL_LIBS})
install(TARGETS ceph-dencoder DESTINATION bin)
|