1 if(Boost_VERSION VERSION_GREATER_EQUAL 1.74)
2 add_definitions(-DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
5 add_library(rbd_types STATIC
7 mirroring_watcher/Types.cc
12 set(librbd_internal_srcs
13 AsyncObjectThrottle.cc
23 LibrbdAdminSocketHook.cc
42 cache/ImageWriteback.cc
43 cache/ObjectCacherObjectDispatch.cc
44 cache/ParentCacheObjectDispatch.cc
45 cache/ObjectCacherWriteback.cc
46 cache/PassthroughImageCache.cc
47 cache/WriteAroundObjectDispatch.cc
48 deep_copy/ImageCopyRequest.cc
49 deep_copy/MetadataCopyRequest.cc
50 deep_copy/ObjectCopyRequest.cc
51 deep_copy/SetHeadRequest.cc
52 deep_copy/SnapshotCopyRequest.cc
53 deep_copy/SnapshotCreateRequest.cc
55 exclusive_lock/AutomaticPolicy.cc
56 exclusive_lock/PreAcquireRequest.cc
57 exclusive_lock/PostAcquireRequest.cc
58 exclusive_lock/PreReleaseRequest.cc
59 exclusive_lock/StandardPolicy.cc
60 image/AttachChildRequest.cc
61 image/AttachParentRequest.cc
64 image/CreateRequest.cc
65 image/DetachChildRequest.cc
66 image/DetachParentRequest.cc
67 image/GetMetadataRequest.cc
68 image/ListWatchersRequest.cc
70 image/PreRemoveRequest.cc
71 image/RefreshParentRequest.cc
72 image/RefreshRequest.cc
73 image/RemoveRequest.cc
74 image/SetFlagsRequest.cc
75 image/SetSnapRequest.cc
76 image/ValidatePoolRequest.cc
77 image_watcher/NotifyLockOwner.cc
82 io/ImageDispatchSpec.cc
86 io/ObjectDispatchSpec.cc
87 io/ObjectDispatcher.cc
90 io/SimpleSchedulerObjectDispatch.cc
92 journal/CreateRequest.cc
93 journal/DemoteRequest.cc
94 journal/ObjectDispatch.cc
95 journal/OpenRequest.cc
96 journal/PromoteRequest.cc
97 journal/RemoveRequest.cc
99 journal/ResetRequest.cc
100 journal/StandardPolicy.cc
102 managed_lock/AcquireRequest.cc
103 managed_lock/BreakRequest.cc
104 managed_lock/GetLockerRequest.cc
105 managed_lock/ReacquireRequest.cc
106 managed_lock/ReleaseRequest.cc
107 managed_lock/Utils.cc
108 mirror/DemoteRequest.cc
109 mirror/DisableRequest.cc
110 mirror/EnableRequest.cc
111 mirror/GetInfoRequest.cc
112 mirror/GetStatusRequest.cc
113 mirror/GetUuidRequest.cc
114 mirror/ImageRemoveRequest.cc
115 mirror/ImageStateUpdateRequest.cc
116 mirror/PromoteRequest.cc
117 mirror/snapshot/CreateNonPrimaryRequest.cc
118 mirror/snapshot/CreatePrimaryRequest.cc
119 mirror/snapshot/DemoteRequest.cc
120 mirror/snapshot/GetImageStateRequest.cc
121 mirror/snapshot/ImageMeta.cc
122 mirror/snapshot/PromoteRequest.cc
123 mirror/snapshot/RemoveImageStateRequest.cc
124 mirror/snapshot/SetImageStateRequest.cc
125 mirror/snapshot/Types.cc
126 mirror/snapshot/UnlinkPeerRequest.cc
127 mirror/snapshot/Utils.cc
128 mirror/snapshot/WriteImageStateRequest.cc
129 object_map/CreateRequest.cc
130 object_map/DiffRequest.cc
131 object_map/InvalidateRequest.cc
132 object_map/LockRequest.cc
133 object_map/RefreshRequest.cc
134 object_map/RemoveRequest.cc
135 object_map/Request.cc
136 object_map/ResizeRequest.cc
137 object_map/SnapshotCreateRequest.cc
138 object_map/SnapshotRemoveRequest.cc
139 object_map/SnapshotRollbackRequest.cc
140 object_map/UnlockRequest.cc
141 object_map/UpdateRequest.cc
142 operation/DisableFeaturesRequest.cc
143 operation/EnableFeaturesRequest.cc
144 operation/FlattenRequest.cc
145 operation/MetadataRemoveRequest.cc
146 operation/MetadataSetRequest.cc
147 operation/MigrateRequest.cc
148 operation/ObjectMapIterate.cc
149 operation/RebuildObjectMapRequest.cc
150 operation/RenameRequest.cc
152 operation/ResizeRequest.cc
153 operation/SnapshotCreateRequest.cc
154 operation/SnapshotProtectRequest.cc
155 operation/SnapshotRemoveRequest.cc
156 operation/SnapshotRenameRequest.cc
157 operation/SnapshotRollbackRequest.cc
158 operation/SnapshotUnprotectRequest.cc
159 operation/SnapshotLimitRequest.cc
160 operation/SparsifyRequest.cc
161 operation/TrimRequest.cc
163 trash/RemoveRequest.cc
165 watcher/RewatchRequest.cc
166 ${CMAKE_SOURCE_DIR}/src/common/ContextCompletion.cc)
169 list(APPEND librbd_internal_srcs ../common/EventTrace.cc)
173 set(librbd_internal_srcs
174 ${librbd_internal_srcs}
175 cache/rwl/ImageCacheState.cc
176 cache/rwl/LogEntry.cc
177 cache/rwl/LogOperation.cc
179 cache/rwl/SyncPoint.cc
181 cache/ReplicatedWriteLog.cc)
184 add_library(rbd_api STATIC librbd.cc)
185 add_library(rbd_internal STATIC
186 ${librbd_internal_srcs}
187 $<TARGET_OBJECTS:rados_snap_set_diff_obj>)
189 # librbd.cc includes tracing/librbd.h
190 add_dependencies(rbd_api librbd-tp)
191 # io/AioCompletion.cc includes tracing/librbd.h
192 add_dependencies(rbd_internal librbd-tp)
195 add_dependencies(rbd_internal eventtrace_tp)
197 target_link_libraries(rbd_internal PRIVATE
198 ceph_immutable_object_cache_lib
202 target_link_libraries(rbd_internal PRIVATE
207 add_library(librbd ${CEPH_SHARED}
210 add_dependencies(librbd librbd-tp)
213 target_link_libraries(librbd PRIVATE
224 ${EXTRALIBS} ${GSSAPI_LIBRARIES})
226 target_link_libraries(librbd PRIVATE
230 set_target_properties(librbd PROPERTIES
234 CXX_VISIBILITY_PRESET hidden
235 VISIBILITY_INLINES_HIDDEN ON)
237 set_property(TARGET librbd APPEND_STRING PROPERTY
238 LINK_FLAGS " -Wl,--exclude-libs,ALL")
241 install(TARGETS librbd DESTINATION ${CMAKE_INSTALL_LIBDIR})