]>
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 | |
c07f9fc5 | 19 | fs/FS.cc) |
7c673cae FG |
20 | |
21 | if(HAVE_LIBAIO) | |
22 | list(APPEND libos_srcs | |
23 | bluestore/Allocator.cc | |
24 | bluestore/BitmapFreelistManager.cc | |
25 | bluestore/BlockDevice.cc | |
26 | bluestore/BlueFS.cc | |
27 | bluestore/bluefs_types.cc | |
28 | bluestore/BlueRocksEnv.cc | |
29 | bluestore/BlueStore.cc | |
30 | bluestore/bluestore_types.cc | |
31 | bluestore/FreelistManager.cc | |
32 | bluestore/KernelDevice.cc | |
33 | bluestore/StupidAllocator.cc | |
34 | bluestore/BitMapAllocator.cc | |
35 | bluestore/BitAllocator.cc | |
c07f9fc5 | 36 | bluestore/aio.cc |
7c673cae FG |
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 | ||
91327a77 AA |
72 | add_library(os STATIC ${libos_srcs} |
73 | $<TARGET_OBJECTS:kv_objs> $<TARGET_OBJECTS:heap_profiler_objs>) | |
74 | ||
75 | ||
7c673cae FG |
76 | |
77 | if(HAVE_LIBAIO) | |
78 | target_link_libraries(os ${AIO_LIBRARIES}) | |
79 | endif(HAVE_LIBAIO) | |
80 | ||
81 | if(WITH_FUSE) | |
82 | target_link_libraries(os ${FUSE_LIBRARIES}) | |
83 | endif() | |
84 | ||
31f18b77 FG |
85 | if(WITH_PMEM) |
86 | target_link_libraries(os ${PMEM_LIBRARY}) | |
87 | endif() | |
88 | ||
224ce89b WB |
89 | if(HAVE_LIBZFS) |
90 | target_link_libraries(os ${ZFS_LIBRARIES}) | |
91 | endif() | |
92 | ||
7c673cae FG |
93 | if(WITH_SPDK) |
94 | target_link_libraries(os | |
95 | ${SPDK_LIBRARIES} | |
96 | ${DPDK_LIBRARIES}) | |
97 | target_include_directories(os | |
98 | PRIVATE | |
99 | ${DPDK_INCLUDE_DIR}) | |
100 | endif(WITH_SPDK) | |
101 | ||
102 | if(WITH_LTTNG) | |
103 | add_dependencies(os objectstore-tp) | |
104 | endif() | |
105 | ||
106 | target_link_libraries(os kv) | |
107 | ||
108 | add_dependencies(os compressor_plugins) | |
109 | add_dependencies(os crypto_plugins) | |
110 | ||
111 | ||
112 | if(HAVE_LIBAIO) | |
113 | add_executable(ceph-bluestore-tool | |
114 | bluestore/bluestore_tool.cc) | |
115 | target_link_libraries(ceph-bluestore-tool | |
116 | os global) | |
117 | install(TARGETS ceph-bluestore-tool | |
118 | DESTINATION bin) | |
119 | endif() | |
120 | ||
121 | if(WITH_SPDK) | |
122 | include_directories("${CMAKE_SOURCE_DIR}/src/spdk/include") | |
123 | add_custom_target(build_spdk | |
124 | COMMAND | |
125 | $(MAKE) DPDK_INC_DIR=${DPDK_INCLUDE_DIR} | |
126 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/spdk/lib | |
127 | COMMENT "spdk building") | |
128 | # TODO: should use add_library(spdk INTERFACE IMPORTED) instead in new cmake, | |
129 | # if INTERFACE is supported. | |
130 | foreach(lib nvme log env_dpdk util) | |
131 | add_library(spdk_${lib} STATIC IMPORTED) | |
132 | add_dependencies(spdk_${lib} build_spdk) | |
133 | target_link_libraries(os LINK_PRIVATE spdk_${lib}) | |
134 | set_target_properties(spdk_${lib} PROPERTIES | |
135 | IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/src/spdk/build/lib/libspdk_${lib}.a" | |
136 | INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_SOURCE_DIR}/src/spdk/include") | |
137 | list(APPEND SPDK_LIBRARIES spdk_${lib}) | |
138 | endforeach() | |
139 | endif(WITH_SPDK) | |
140 | ||
141 | if(WITH_LTTNG AND WITH_EVENTTRACE) | |
142 | add_dependencies(os eventtrace_tp) | |
143 | endif() |