]> git.proxmox.com Git - ceph.git/blame - ceph/src/os/CMakeLists.txt
import ceph quincy 17.2.6
[ceph.git] / ceph / src / os / CMakeLists.txt
CommitLineData
7c673cae
FG
1set(libos_srcs
2 ObjectStore.cc
3 Transaction.cc
4 filestore/chain_xattr.cc
5 filestore/BtrfsFileStoreBackend.cc
6 filestore/DBObjectMap.cc
7 filestore/FileJournal.cc
8 filestore/FileStore.cc
9 filestore/JournalThrottle.cc
10 filestore/GenericFileStoreBackend.cc
11 filestore/JournalingObjectStore.cc
12 filestore/HashIndex.cc
13 filestore/IndexManager.cc
14 filestore/LFNIndex.cc
15 filestore/WBThrottle.cc
9f95a23c 16 filestore/os_xattr.c
7c673cae
FG
17 memstore/MemStore.cc
18 kstore/KStore.cc
19 kstore/kstore_types.cc
c07f9fc5 20 fs/FS.cc)
7c673cae 21
11fdf7f2 22if(WITH_BLUESTORE)
7c673cae
FG
23 list(APPEND libos_srcs
24 bluestore/Allocator.cc
25 bluestore/BitmapFreelistManager.cc
7c673cae
FG
26 bluestore/BlueFS.cc
27 bluestore/bluefs_types.cc
28 bluestore/BlueRocksEnv.cc
29 bluestore/BlueStore.cc
20effc67 30 bluestore/simple_bitmap.cc
7c673cae 31 bluestore/bluestore_types.cc
a8e16298 32 bluestore/fastbmap_allocator_impl.cc
7c673cae 33 bluestore/FreelistManager.cc
7c673cae 34 bluestore/StupidAllocator.cc
a8e16298 35 bluestore/BitmapAllocator.cc
9f95a23c 36 bluestore/AvlAllocator.cc
20effc67 37 bluestore/BtreeAllocator.cc
e306af50 38 bluestore/HybridAllocator.cc
7c673cae 39 )
11fdf7f2
TL
40endif(WITH_BLUESTORE)
41
f67539c2 42if(WITH_ZBD)
11fdf7f2 43 list(APPEND libos_srcs
f67539c2
TL
44 bluestore/ZonedFreelistManager.cc
45 bluestore/ZonedAllocator.cc)
11fdf7f2 46endif()
7c673cae
FG
47
48if(WITH_FUSE)
49 list(APPEND libos_srcs
50 FuseStore.cc)
51endif(WITH_FUSE)
52
224ce89b
WB
53if(HAVE_LIBXFS)
54 list(APPEND libos_srcs
55 filestore/XfsFileStoreBackend.cc
56 fs/XFS.cc)
57endif()
58
59if(HAVE_LIBZFS)
60 add_library(os_zfs_objs OBJECT
61 filestore/ZFSFileStoreBackend.cc
62 fs/ZFS.cc)
11fdf7f2 63 target_include_directories(os_zfs_objs SYSTEM PRIVATE
224ce89b
WB
64 ${ZFS_INCLUDE_DIRS})
65 list(APPEND libos_srcs $<TARGET_OBJECTS:os_zfs_objs>)
66endif()
67
eafe8130 68add_library(os STATIC ${libos_srcs})
f67539c2 69target_link_libraries(os blk)
91327a77 70
eafe8130 71target_link_libraries(os heap_profiler kv)
91327a77 72
11fdf7f2
TL
73if(WITH_BLUEFS)
74 add_library(bluefs SHARED
75 bluestore/BlueRocksEnv.cc)
76 target_include_directories(bluefs SYSTEM PUBLIC
77 $<TARGET_PROPERTY:RocksDB::RocksDB,INTERFACE_INCLUDE_DIRECTORIES>)
78 target_link_libraries(bluefs global)
79 install(TARGETS bluefs DESTINATION lib)
80endif(WITH_BLUEFS)
7c673cae 81
7c673cae 82if(WITH_FUSE)
1911f103 83 target_link_libraries(os FUSE::FUSE)
7c673cae
FG
84endif()
85
224ce89b
WB
86if(HAVE_LIBZFS)
87 target_link_libraries(os ${ZFS_LIBRARIES})
88endif()
89
7c673cae
FG
90if(WITH_LTTNG)
91 add_dependencies(os objectstore-tp)
9f95a23c 92 add_dependencies(os bluestore-tp)
7c673cae
FG
93endif()
94
f67539c2 95if(WITH_JAEGER)
20effc67
TL
96 add_dependencies(os ${jaeger_base})
97 target_link_libraries(os ${jaeger_base})
f67539c2
TL
98endif()
99
7c673cae
FG
100target_link_libraries(os kv)
101
102add_dependencies(os compressor_plugins)
103add_dependencies(os crypto_plugins)
104
105
11fdf7f2 106if(WITH_BLUESTORE)
7c673cae
FG
107 add_executable(ceph-bluestore-tool
108 bluestore/bluestore_tool.cc)
109 target_link_libraries(ceph-bluestore-tool
110 os global)
111 install(TARGETS ceph-bluestore-tool
112 DESTINATION bin)
113endif()