]> git.proxmox.com Git - ceph.git/blob - ceph/src/librbd/CMakeLists.txt
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / librbd / CMakeLists.txt
1 add_library(rbd_types STATIC
2 journal/Types.cc
3 mirroring_watcher/Types.cc
4 trash_watcher/Types.cc
5 watcher/Types.cc
6 WatchNotifyTypes.cc)
7
8 set(librbd_internal_srcs
9 AsyncObjectThrottle.cc
10 AsyncRequest.cc
11 DeepCopyRequest.cc
12 ExclusiveLock.cc
13 ImageCtx.cc
14 ImageState.cc
15 ImageWatcher.cc
16 internal.cc
17 Journal.cc
18 LibrbdAdminSocketHook.cc
19 LibrbdWriteback.cc
20 ManagedLock.cc
21 MirroringWatcher.cc
22 ObjectMap.cc
23 Operations.cc
24 TrashWatcher.cc
25 Utils.cc
26 Watcher.cc
27 api/Config.cc
28 api/DiffIterate.cc
29 api/Group.cc
30 api/Image.cc
31 api/Migration.cc
32 api/Mirror.cc
33 api/Namespace.cc
34 api/Pool.cc
35 api/PoolMetadata.cc
36 api/Snapshot.cc
37 api/Trash.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
47 deep_copy/Utils.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
55 image/CloneRequest.cc
56 image/CloseRequest.cc
57 image/CreateRequest.cc
58 image/DetachChildRequest.cc
59 image/DetachParentRequest.cc
60 image/ListWatchersRequest.cc
61 image/OpenRequest.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
70 io/AioCompletion.cc
71 io/AsyncOperation.cc
72 io/CopyupRequest.cc
73 io/ImageDispatchSpec.cc
74 io/ImageRequest.cc
75 io/ImageRequestWQ.cc
76 io/ObjectDispatch.cc
77 io/ObjectDispatchSpec.cc
78 io/ObjectDispatcher.cc
79 io/ObjectRequest.cc
80 io/ReadResult.cc
81 io/Utils.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
88 journal/Replay.cc
89 journal/ResetRequest.cc
90 journal/StandardPolicy.cc
91 journal/Utils.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
97 managed_lock/Utils.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
125 operation/Request.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
136 trash/MoveRequest.cc
137 watcher/Notifier.cc
138 watcher/RewatchRequest.cc
139 ${CMAKE_SOURCE_DIR}/src/common/ContextCompletion.cc)
140
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>)
145 if(WITH_LTTNG)
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)
150 endif()
151 if(WITH_LTTNG AND WITH_EVENTTRACE)
152 add_dependencies(rbd_internal eventtrace_tp)
153 endif()
154 target_link_libraries(rbd_internal PRIVATE
155 osdc)
156
157 add_library(librbd ${CEPH_SHARED}
158 librbd.cc)
159 if(WITH_LTTNG)
160 add_dependencies(librbd librbd-tp)
161 endif()
162
163 target_link_libraries(librbd PRIVATE
164 rbd_internal
165 rbd_types
166 journal
167 librados
168 cls_rbd_client
169 cls_lock_client
170 cls_journal_client
171 ceph-common
172 pthread
173 ${CMAKE_DL_LIBS}
174 ${EXTRALIBS} ${GSSAPI_LIBRARIES})
175 if(HAVE_UDEV)
176 target_link_libraries(librbd PRIVATE
177 udev)
178 endif()
179 if(ENABLE_SHARED)
180 set_target_properties(librbd PROPERTIES
181 OUTPUT_NAME rbd
182 VERSION 1.12.0
183 SOVERSION 1
184 CXX_VISIBILITY_PRESET hidden
185 VISIBILITY_INLINES_HIDDEN ON)
186 if(NOT APPLE)
187 set_property(TARGET librbd APPEND_STRING PROPERTY
188 LINK_FLAGS " -Wl,--exclude-libs,ALL")
189 endif()
190 endif(ENABLE_SHARED)
191 install(TARGETS librbd DESTINATION ${CMAKE_INSTALL_LIBDIR})