]> git.proxmox.com Git - ceph.git/blame - ceph/src/librbd/CMakeLists.txt
update sources to v12.1.3
[ceph.git] / ceph / src / librbd / CMakeLists.txt
CommitLineData
7c673cae
FG
1add_library(rbd_types STATIC
2 journal/Types.cc
3 mirroring_watcher/Types.cc
4 watcher/Types.cc
5 WatchNotifyTypes.cc)
6
7set(librbd_internal_srcs
8 AsyncObjectThrottle.cc
7c673cae
FG
9 AsyncRequest.cc
10 ExclusiveLock.cc
11 ImageCtx.cc
12 ImageState.cc
13 ImageWatcher.cc
14 internal.cc
15 Journal.cc
16 LibrbdAdminSocketHook.cc
17 LibrbdWriteback.cc
18 ManagedLock.cc
19 MirroringWatcher.cc
20 ObjectMap.cc
21 Operations.cc
22 Utils.cc
23 Watcher.cc
24 api/DiffIterate.cc
7c673cae
FG
25 api/Image.cc
26 api/Mirror.cc
27 cache/ImageWriteback.cc
28 cache/PassthroughImageCache.cc
29 exclusive_lock/AutomaticPolicy.cc
30 exclusive_lock/PreAcquireRequest.cc
31 exclusive_lock/PostAcquireRequest.cc
32 exclusive_lock/PreReleaseRequest.cc
33 exclusive_lock/StandardPolicy.cc
34 image/CloneRequest.cc
35 image/CloseRequest.cc
36 image/CreateRequest.cc
37 image/OpenRequest.cc
38 image/RefreshParentRequest.cc
39 image/RefreshRequest.cc
40 image/RemoveRequest.cc
41 image/SetFlagsRequest.cc
42 image/SetSnapRequest.cc
43 image_watcher/NotifyLockOwner.cc
44 io/AioCompletion.cc
31f18b77 45 io/AsyncOperation.cc
7c673cae
FG
46 io/CopyupRequest.cc
47 io/ImageRequest.cc
48 io/ImageRequestWQ.cc
49 io/ObjectRequest.cc
50 io/ReadResult.cc
51 journal/CreateRequest.cc
52 journal/DemoteRequest.cc
53 journal/OpenRequest.cc
54 journal/PromoteRequest.cc
55 journal/RemoveRequest.cc
56 journal/Replay.cc
57 journal/StandardPolicy.cc
58 journal/Utils.cc
59 managed_lock/AcquireRequest.cc
60 managed_lock/BreakRequest.cc
61 managed_lock/GetLockerRequest.cc
62 managed_lock/ReacquireRequest.cc
63 managed_lock/ReleaseRequest.cc
64 managed_lock/Utils.cc
65 mirror/DemoteRequest.cc
66 mirror/DisableRequest.cc
67 mirror/EnableRequest.cc
68 mirror/GetInfoRequest.cc
69 mirror/GetStatusRequest.cc
70 mirror/PromoteRequest.cc
71 object_map/CreateRequest.cc
72 object_map/InvalidateRequest.cc
73 object_map/LockRequest.cc
74 object_map/RefreshRequest.cc
75 object_map/RemoveRequest.cc
76 object_map/Request.cc
77 object_map/ResizeRequest.cc
78 object_map/SnapshotCreateRequest.cc
79 object_map/SnapshotRemoveRequest.cc
80 object_map/SnapshotRollbackRequest.cc
81 object_map/UnlockRequest.cc
82 object_map/UpdateRequest.cc
83 operation/DisableFeaturesRequest.cc
84 operation/EnableFeaturesRequest.cc
85 operation/FlattenRequest.cc
86 operation/MetadataRemoveRequest.cc
87 operation/MetadataSetRequest.cc
88 operation/ObjectMapIterate.cc
89 operation/RebuildObjectMapRequest.cc
90 operation/RenameRequest.cc
91 operation/Request.cc
92 operation/ResizeRequest.cc
93 operation/SnapshotCreateRequest.cc
94 operation/SnapshotProtectRequest.cc
95 operation/SnapshotRemoveRequest.cc
96 operation/SnapshotRenameRequest.cc
97 operation/SnapshotRollbackRequest.cc
98 operation/SnapshotUnprotectRequest.cc
99 operation/SnapshotLimitRequest.cc
100 operation/TrimRequest.cc
101 watcher/Notifier.cc
102 watcher/RewatchRequest.cc
103 ${CMAKE_SOURCE_DIR}/src/common/ContextCompletion.cc)
104
105add_library(rbd_api STATIC librbd.cc)
106add_library(rbd_internal STATIC
107 ${librbd_internal_srcs}
108 $<TARGET_OBJECTS:rados_snap_set_diff_obj>)
109if(WITH_LTTNG)
110 add_dependencies(rbd_internal librbd-tp)
111endif()
112
113add_library(librbd ${CEPH_SHARED}
114 librbd.cc)
115
116target_link_libraries(librbd LINK_PRIVATE
117 rbd_internal
118 rbd_types
119 journal
120 librados
121 osdc
122 cls_rbd_client
123 cls_lock_client
124 cls_journal_client
125 ceph-common
126 pthread
127 ${CMAKE_DL_LIBS}
128 ${EXTRALIBS})
129if(HAVE_UDEV)
130 target_link_libraries(librbd LINK_PRIVATE
131 udev)
132endif()
133if(ENABLE_SHARED)
134 set_target_properties(librbd PROPERTIES
135 OUTPUT_NAME rbd
136 VERSION 1.12.0
137 SOVERSION 1
138 COMPILE_FLAGS "-fvisibility=hidden -fvisibility-inlines-hidden"
139 LINK_FLAGS "-Wl,--exclude-libs,ALL")
140endif(ENABLE_SHARED)
141install(TARGETS librbd DESTINATION ${CMAKE_INSTALL_LIBDIR})
142
143if(WITH_EMBEDDED)
144 add_library(cephd_rbd_base STATIC librbd.cc ${CMAKE_SOURCE_DIR}/src/common/ContextCompletion.cc)
145 merge_static_libraries(cephd_rbd cephd_rbd_base rbd_internal rbd_types journal)
146endif()