summaryrefslogtreecommitdiffstats
path: root/src/tools/rbd/CMakeLists.txt
blob: 5a895354d536519e9890061154a785b0f62b68f6 (plain)
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
set(CURSES_NEED_NCURSES TRUE)
# libcurses may not be available on some platforms (e.g. Windows).
find_package(Curses)

set(rbd_srcs
  rbd.cc
  ArgumentTypes.cc
  IndentStream.cc
  MirrorDaemonServiceInfo.cc
  OptionPrinter.cc
  Schedule.cc
  Shell.cc
  Utils.cc
  action/Bench.cc
  action/Children.cc
  action/Clone.cc
  action/Config.cc
  action/Copy.cc
  action/Create.cc
  action/Device.cc
  action/Diff.cc
  action/DiskUsage.cc
  action/Encryption.cc
  action/Export.cc
  action/Feature.cc
  action/Flatten.cc
  action/Ggate.cc
  action/Group.cc
  action/ImageMeta.cc
  action/Import.cc
  action/Info.cc
  action/Journal.cc
  action/Kernel.cc
  action/List.cc
  action/Lock.cc
  action/MergeDiff.cc
  action/Migration.cc
  action/MirrorImage.cc
  action/MirrorPool.cc
  action/MirrorSnapshotSchedule.cc
  action/Namespace.cc
  action/Nbd.cc
  action/ObjectMap.cc
  action/Perf.cc
  action/PersistentCache.cc
  action/Pool.cc
  action/Remove.cc
  action/Rename.cc
  action/Resize.cc
  action/Snap.cc
  action/Sparsify.cc
  action/Status.cc
  action/TrashPurgeSchedule.cc
  action/Trash.cc
  action/Watch.cc
  action/Wnbd.cc)

add_executable(rbd ${rbd_srcs}
  $<TARGET_OBJECTS:common_texttable_obj>)
set_target_properties(rbd PROPERTIES OUTPUT_NAME rbd)
target_link_libraries(rbd
  cls_journal_client
  cls_rbd_client
  rbd_types
  librbd
  journal
  libneorados
  librados
  ceph-common global
  ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
if(CURSES_FOUND)
  target_compile_definitions(rbd PRIVATE HAVE_CURSES)
  target_link_libraries(rbd ${CURSES_LIBRARIES})
endif()
if(WITH_KRBD)
  target_link_libraries(rbd 
    krbd)
endif()

install(TARGETS rbd DESTINATION bin)