Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / 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/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
45   io/AsyncOperation.cc
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
105 add_library(rbd_api STATIC librbd.cc)
106 add_library(rbd_internal STATIC
107   ${librbd_internal_srcs}
108   $<TARGET_OBJECTS:rados_snap_set_diff_obj>)
109 if(WITH_LTTNG)
110   add_dependencies(rbd_internal librbd-tp)
111 endif()
112
113 add_library(librbd ${CEPH_SHARED}
114   librbd.cc)
115
116 target_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})
129 if(HAVE_UDEV)
130   target_link_libraries(librbd LINK_PRIVATE
131     udev)
132 endif()
133 if(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")
140 endif(ENABLE_SHARED)
141 install(TARGETS librbd DESTINATION ${CMAKE_INSTALL_LIBDIR})
142
143 if(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)
146 endif()