1 add_library(rbd_types STATIC
3 mirroring_watcher/Types.cc
8 set(librbd_internal_srcs
18 LibrbdAdminSocketHook.cc
38 cache/ImageWriteback.cc
39 cache/ObjectCacherObjectDispatch.cc
40 cache/PassthroughImageCache.cc
41 deep_copy/ImageCopyRequest.cc
42 deep_copy/MetadataCopyRequest.cc
43 deep_copy/ObjectCopyRequest.cc
44 deep_copy/SetHeadRequest.cc
45 deep_copy/SnapshotCopyRequest.cc
46 deep_copy/SnapshotCreateRequest.cc
48 exclusive_lock/AutomaticPolicy.cc
49 exclusive_lock/PreAcquireRequest.cc
50 exclusive_lock/PostAcquireRequest.cc
51 exclusive_lock/PreReleaseRequest.cc
52 exclusive_lock/StandardPolicy.cc
53 image/AttachChildRequest.cc
54 image/AttachParentRequest.cc
57 image/CreateRequest.cc
58 image/DetachChildRequest.cc
59 image/DetachParentRequest.cc
60 image/ListWatchersRequest.cc
62 image/PreRemoveRequest.cc
63 image/RefreshParentRequest.cc
64 image/RefreshRequest.cc
65 image/RemoveRequest.cc
66 image/SetFlagsRequest.cc
67 image/SetSnapRequest.cc
68 image/ValidatePoolRequest.cc
69 image_watcher/NotifyLockOwner.cc
73 io/ImageDispatchSpec.cc
77 io/ObjectDispatchSpec.cc
78 io/ObjectDispatcher.cc
82 journal/CreateRequest.cc
83 journal/DemoteRequest.cc
84 journal/ObjectDispatch.cc
85 journal/OpenRequest.cc
86 journal/PromoteRequest.cc
87 journal/RemoveRequest.cc
89 journal/ResetRequest.cc
90 journal/StandardPolicy.cc
92 managed_lock/AcquireRequest.cc
93 managed_lock/BreakRequest.cc
94 managed_lock/GetLockerRequest.cc
95 managed_lock/ReacquireRequest.cc
96 managed_lock/ReleaseRequest.cc
98 mirror/DemoteRequest.cc
99 mirror/DisableRequest.cc
100 mirror/EnableRequest.cc
101 mirror/GetInfoRequest.cc
102 mirror/GetStatusRequest.cc
103 mirror/PromoteRequest.cc
104 object_map/CreateRequest.cc
105 object_map/InvalidateRequest.cc
106 object_map/LockRequest.cc
107 object_map/RefreshRequest.cc
108 object_map/RemoveRequest.cc
109 object_map/Request.cc
110 object_map/ResizeRequest.cc
111 object_map/SnapshotCreateRequest.cc
112 object_map/SnapshotRemoveRequest.cc
113 object_map/SnapshotRollbackRequest.cc
114 object_map/UnlockRequest.cc
115 object_map/UpdateRequest.cc
116 operation/DisableFeaturesRequest.cc
117 operation/EnableFeaturesRequest.cc
118 operation/FlattenRequest.cc
119 operation/MetadataRemoveRequest.cc
120 operation/MetadataSetRequest.cc
121 operation/MigrateRequest.cc
122 operation/ObjectMapIterate.cc
123 operation/RebuildObjectMapRequest.cc
124 operation/RenameRequest.cc
126 operation/ResizeRequest.cc
127 operation/SnapshotCreateRequest.cc
128 operation/SnapshotProtectRequest.cc
129 operation/SnapshotRemoveRequest.cc
130 operation/SnapshotRenameRequest.cc
131 operation/SnapshotRollbackRequest.cc
132 operation/SnapshotUnprotectRequest.cc
133 operation/SnapshotLimitRequest.cc
134 operation/SparsifyRequest.cc
135 operation/TrimRequest.cc
138 watcher/RewatchRequest.cc
139 ${CMAKE_SOURCE_DIR}/src/common/ContextCompletion.cc)
141 add_library(rbd_api STATIC librbd.cc)
142 add_library(rbd_internal STATIC
143 ${librbd_internal_srcs}
144 $<TARGET_OBJECTS:rados_snap_set_diff_obj>)
146 # librbd.cc includes tracing/librbd.h
147 add_dependencies(rbd_api librbd-tp)
148 # io/AioCompletion.cc includes tracing/librbd.h
149 add_dependencies(rbd_internal librbd-tp)
151 if(WITH_LTTNG AND WITH_EVENTTRACE)
152 add_dependencies(rbd_internal eventtrace_tp)
154 target_link_libraries(rbd_internal PRIVATE
157 add_library(librbd ${CEPH_SHARED}
160 add_dependencies(librbd librbd-tp)
163 target_link_libraries(librbd PRIVATE
174 ${EXTRALIBS} ${GSSAPI_LIBRARIES})
176 target_link_libraries(librbd PRIVATE
180 set_target_properties(librbd PROPERTIES
184 CXX_VISIBILITY_PRESET hidden
185 VISIBILITY_INLINES_HIDDEN ON)
187 set_property(TARGET librbd APPEND_STRING PROPERTY
188 LINK_FLAGS " -Wl,--exclude-libs,ALL")
191 install(TARGETS librbd DESTINATION ${CMAKE_INSTALL_LIBDIR})