]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 | |
7c673cae FG |
16 | memstore/MemStore.cc |
17 | kstore/KStore.cc | |
18 | kstore/kstore_types.cc | |
19 | fs/FS.cc | |
224ce89b | 20 | fs/aio.cc) |
7c673cae FG |
21 | |
22 | if(HAVE_LIBAIO) | |
23 | list(APPEND libos_srcs | |
24 | bluestore/Allocator.cc | |
25 | bluestore/BitmapFreelistManager.cc | |
26 | bluestore/BlockDevice.cc | |
27 | bluestore/BlueFS.cc | |
28 | bluestore/bluefs_types.cc | |
29 | bluestore/BlueRocksEnv.cc | |
30 | bluestore/BlueStore.cc | |
31 | bluestore/bluestore_types.cc | |
32 | bluestore/FreelistManager.cc | |
33 | bluestore/KernelDevice.cc | |
34 | bluestore/StupidAllocator.cc | |
35 | bluestore/BitMapAllocator.cc | |
36 | bluestore/BitAllocator.cc | |
37 | ) | |
38 | endif(HAVE_LIBAIO) | |
39 | ||
40 | if(WITH_FUSE) | |
41 | list(APPEND libos_srcs | |
42 | FuseStore.cc) | |
43 | endif(WITH_FUSE) | |
44 | ||
31f18b77 FG |
45 | if(WITH_PMEM) |
46 | list(APPEND libos_srcs | |
47 | bluestore/PMEMDevice.cc) | |
48 | endif(WITH_PMEM) | |
49 | ||
224ce89b WB |
50 | if(HAVE_LIBXFS) |
51 | list(APPEND libos_srcs | |
52 | filestore/XfsFileStoreBackend.cc | |
53 | fs/XFS.cc) | |
54 | endif() | |
55 | ||
56 | if(HAVE_LIBZFS) | |
57 | add_library(os_zfs_objs OBJECT | |
58 | filestore/ZFSFileStoreBackend.cc | |
59 | fs/ZFS.cc) | |
60 | target_include_directories(os_zfs_objs PRIVATE | |
61 | ${ZFS_INCLUDE_DIRS}) | |
62 | list(APPEND libos_srcs $<TARGET_OBJECTS:os_zfs_objs>) | |
63 | endif() | |
64 | ||
7c673cae FG |
65 | if(WITH_SPDK) |
66 | list(APPEND libos_srcs | |
67 | bluestore/NVMEDevice.cc) | |
68 | ADD_DEFINITIONS(-D__SSE4_2__ -D__SSE4_1__ -D__SSSE3__ -D__SSE3__) | |
69 | add_compile_options(-mcrc32 -msse3 -mssse3 -msse4.1 -msse4.2) | |
70 | endif() | |
71 | ||
72 | add_library(os STATIC ${libos_srcs} $<TARGET_OBJECTS:kv_objs>) | |
73 | ||
74 | if(HAVE_LIBAIO) | |
75 | target_link_libraries(os ${AIO_LIBRARIES}) | |
76 | endif(HAVE_LIBAIO) | |
77 | ||
78 | if(WITH_FUSE) | |
79 | target_link_libraries(os ${FUSE_LIBRARIES}) | |
80 | endif() | |
81 | ||
31f18b77 FG |
82 | if(WITH_PMEM) |
83 | target_link_libraries(os ${PMEM_LIBRARY}) | |
84 | endif() | |
85 | ||
224ce89b WB |
86 | if(HAVE_LIBZFS) |
87 | target_link_libraries(os ${ZFS_LIBRARIES}) | |
88 | endif() | |
89 | ||
7c673cae FG |
90 | if(WITH_SPDK) |
91 | target_link_libraries(os | |
92 | ${SPDK_LIBRARIES} | |
93 | ${DPDK_LIBRARIES}) | |
94 | target_include_directories(os | |
95 | PRIVATE | |
96 | ${DPDK_INCLUDE_DIR}) | |
97 | endif(WITH_SPDK) | |
98 | ||
99 | if(WITH_LTTNG) | |
100 | add_dependencies(os objectstore-tp) | |
101 | endif() | |
102 | ||
103 | target_link_libraries(os kv) | |
104 | ||
105 | add_dependencies(os compressor_plugins) | |
106 | add_dependencies(os crypto_plugins) | |
107 | ||
108 | ||
109 | if(HAVE_LIBAIO) | |
110 | add_executable(ceph-bluestore-tool | |
111 | bluestore/bluestore_tool.cc) | |
112 | target_link_libraries(ceph-bluestore-tool | |
113 | os global) | |
114 | install(TARGETS ceph-bluestore-tool | |
115 | DESTINATION bin) | |
116 | endif() | |
117 | ||
118 | if(WITH_SPDK) | |
119 | include_directories("${CMAKE_SOURCE_DIR}/src/spdk/include") | |
120 | add_custom_target(build_spdk | |
121 | COMMAND | |
122 | $(MAKE) DPDK_INC_DIR=${DPDK_INCLUDE_DIR} | |
123 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/spdk/lib | |
124 | COMMENT "spdk building") | |
125 | # TODO: should use add_library(spdk INTERFACE IMPORTED) instead in new cmake, | |
126 | # if INTERFACE is supported. | |
127 | foreach(lib nvme log env_dpdk util) | |
128 | add_library(spdk_${lib} STATIC IMPORTED) | |
129 | add_dependencies(spdk_${lib} build_spdk) | |
130 | target_link_libraries(os LINK_PRIVATE spdk_${lib}) | |
131 | set_target_properties(spdk_${lib} PROPERTIES | |
132 | IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/src/spdk/build/lib/libspdk_${lib}.a" | |
133 | INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_SOURCE_DIR}/src/spdk/include") | |
134 | list(APPEND SPDK_LIBRARIES spdk_${lib}) | |
135 | endforeach() | |
136 | endif(WITH_SPDK) | |
137 | ||
138 | if(WITH_LTTNG AND WITH_EVENTTRACE) | |
139 | add_dependencies(os eventtrace_tp) | |
140 | endif() |