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