-
Notifications
You must be signed in to change notification settings - Fork 5.9k
/
CMakeLists.txt
118 lines (114 loc) · 2.9 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
add_library(rbd_types STATIC
journal/Types.cc
mirroring_watcher/Types.cc
WatchNotifyTypes.cc)
set(librbd_internal_srcs
AioCompletion.cc
AioImageRequest.cc
AioImageRequestWQ.cc
AioObjectRequest.cc
AsyncObjectThrottle.cc
AsyncOperation.cc
AsyncRequest.cc
CopyupRequest.cc
DiffIterate.cc
ExclusiveLock.cc
Group.cc
ImageCtx.cc
ImageState.cc
ImageWatcher.cc
internal.cc
Journal.cc
LibrbdAdminSocketHook.cc
LibrbdWriteback.cc
MirroringWatcher.cc
ObjectMap.cc
ObjectWatcher.cc
Operations.cc
Utils.cc
cache/ImageWriteback.cc
cache/PassthroughImageCache.cc
exclusive_lock/AcquireRequest.cc
exclusive_lock/AutomaticPolicy.cc
exclusive_lock/ReacquireRequest.cc
exclusive_lock/ReleaseRequest.cc
exclusive_lock/StandardPolicy.cc
image/CloseRequest.cc
image/CreateRequest.cc
image/OpenRequest.cc
image/RefreshParentRequest.cc
image/RefreshRequest.cc
image/SetSnapRequest.cc
image_watcher/Notifier.cc
image_watcher/NotifyLockOwner.cc
image_watcher/RewatchRequest.cc
journal/RemoveRequest.cc
journal/CreateRequest.cc
journal/Replay.cc
journal/StandardPolicy.cc
object_map/InvalidateRequest.cc
object_map/LockRequest.cc
object_map/Request.cc
object_map/RefreshRequest.cc
object_map/ResizeRequest.cc
object_map/SnapshotCreateRequest.cc
object_map/SnapshotRemoveRequest.cc
object_map/SnapshotRollbackRequest.cc
object_map/UnlockRequest.cc
object_map/UpdateRequest.cc
operation/FlattenRequest.cc
operation/ObjectMapIterate.cc
operation/RebuildObjectMapRequest.cc
operation/RenameRequest.cc
operation/Request.cc
operation/ResizeRequest.cc
operation/SnapshotCreateRequest.cc
operation/SnapshotProtectRequest.cc
operation/SnapshotRemoveRequest.cc
operation/SnapshotRenameRequest.cc
operation/SnapshotRollbackRequest.cc
operation/SnapshotUnprotectRequest.cc
operation/SnapshotLimitRequest.cc
operation/TrimRequest.cc)
add_library(rbd_api STATIC librbd.cc)
add_library(rbd_internal STATIC
${librbd_internal_srcs}
$<TARGET_OBJECTS:rados_snap_set_diff_obj>)
if(WITH_LTTNG)
add_dependencies(rbd_api librbd-tp)
endif()
add_library(librbd ${CEPH_SHARED}
$<TARGET_OBJECTS:osdc_rbd_objs>
$<TARGET_OBJECTS:common_util_obj>
${CMAKE_SOURCE_DIR}/src/common/ContextCompletion.cc
librbd.cc)
if(LINUX)
list(APPEND librbd
$<TARGET_OBJECTS:parse_secret_objs>
$<TARGET_OBJECTS:krbd_objs>
)
endif(LINUX)
target_link_libraries(librbd LINK_PRIVATE
rbd_internal
rbd_types
journal
librados
common
osdc
cls_rbd_client
cls_lock_client
cls_journal_client
pthread
udev
keyutils
${CMAKE_DL_LIBS}
${EXTRALIBS})
if(ENABLE_SHARED)
set_target_properties(librbd PROPERTIES
OUTPUT_NAME rbd
VERSION 1.0.0
SOVERSION 1
COMPILE_FLAGS "-fvisibility=hidden -fvisibility-inlines-hidden"
LINK_FLAGS "-Wl,--exclude-libs,ALL")
endif(ENABLE_SHARED)
install(TARGETS librbd DESTINATION ${CMAKE_INSTALL_LIBDIR})