]> git.proxmox.com Git - ceph.git/blob - ceph/src/os/CMakeLists.txt
import quincy beta 17.1.0
[ceph.git] / ceph / src / os / CMakeLists.txt
1 set(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
16 filestore/os_xattr.c
17 memstore/MemStore.cc
18 kstore/KStore.cc
19 kstore/kstore_types.cc
20 fs/FS.cc)
21
22 if(WITH_BLUESTORE)
23 list(APPEND libos_srcs
24 bluestore/Allocator.cc
25 bluestore/BitmapFreelistManager.cc
26 bluestore/BlueFS.cc
27 bluestore/bluefs_types.cc
28 bluestore/BlueRocksEnv.cc
29 bluestore/BlueStore.cc
30 bluestore/simple_bitmap.cc
31 bluestore/bluestore_types.cc
32 bluestore/fastbmap_allocator_impl.cc
33 bluestore/FreelistManager.cc
34 bluestore/StupidAllocator.cc
35 bluestore/BitmapAllocator.cc
36 bluestore/AvlAllocator.cc
37 bluestore/BtreeAllocator.cc
38 bluestore/HybridAllocator.cc
39 )
40 endif(WITH_BLUESTORE)
41
42 if(WITH_ZBD)
43 list(APPEND libos_srcs
44 bluestore/ZonedFreelistManager.cc
45 bluestore/ZonedAllocator.cc)
46 endif()
47
48 if(WITH_FUSE)
49 list(APPEND libos_srcs
50 FuseStore.cc)
51 endif(WITH_FUSE)
52
53 if(HAVE_LIBXFS)
54 list(APPEND libos_srcs
55 filestore/XfsFileStoreBackend.cc
56 fs/XFS.cc)
57 endif()
58
59 if(HAVE_LIBZFS)
60 add_library(os_zfs_objs OBJECT
61 filestore/ZFSFileStoreBackend.cc
62 fs/ZFS.cc)
63 target_include_directories(os_zfs_objs SYSTEM PRIVATE
64 ${ZFS_INCLUDE_DIRS})
65 list(APPEND libos_srcs $<TARGET_OBJECTS:os_zfs_objs>)
66 endif()
67
68 add_library(os STATIC ${libos_srcs})
69 target_link_libraries(os blk)
70
71 target_link_libraries(os heap_profiler kv)
72
73 if(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)
80 endif(WITH_BLUEFS)
81
82 if(WITH_FUSE)
83 target_link_libraries(os FUSE::FUSE)
84 endif()
85
86 if(HAVE_LIBZFS)
87 target_link_libraries(os ${ZFS_LIBRARIES})
88 endif()
89
90 if(WITH_LTTNG)
91 add_dependencies(os objectstore-tp)
92 add_dependencies(os bluestore-tp)
93 endif()
94
95 if(WITH_JAEGER)
96 add_dependencies(os ${jaeger_base})
97 target_link_libraries(os ${jaeger_base})
98 endif()
99
100 target_link_libraries(os kv)
101
102 add_dependencies(os compressor_plugins)
103 add_dependencies(os crypto_plugins)
104
105
106 if(WITH_BLUESTORE)
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)
113 endif()