]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | if(HAVE_LIBXFS) |
2 | set(libos_xfs_srcs | |
3 | filestore/XfsFileStoreBackend.cc | |
4 | fs/XFS.cc) | |
5 | endif(HAVE_LIBXFS) | |
6 | ||
7 | set(libos_srcs | |
8 | ObjectStore.cc | |
9 | Transaction.cc | |
10 | filestore/chain_xattr.cc | |
11 | filestore/BtrfsFileStoreBackend.cc | |
12 | filestore/DBObjectMap.cc | |
13 | filestore/FileJournal.cc | |
14 | filestore/FileStore.cc | |
15 | filestore/JournalThrottle.cc | |
16 | filestore/GenericFileStoreBackend.cc | |
17 | filestore/JournalingObjectStore.cc | |
18 | filestore/HashIndex.cc | |
19 | filestore/IndexManager.cc | |
20 | filestore/LFNIndex.cc | |
21 | filestore/WBThrottle.cc | |
22 | filestore/ZFSFileStoreBackend.cc | |
23 | memstore/MemStore.cc | |
24 | kstore/KStore.cc | |
25 | kstore/kstore_types.cc | |
26 | fs/FS.cc | |
27 | fs/aio.cc | |
28 | ${libos_xfs_srcs}) | |
29 | ||
30 | if(HAVE_LIBAIO) | |
31 | list(APPEND libos_srcs | |
32 | bluestore/Allocator.cc | |
33 | bluestore/BitmapFreelistManager.cc | |
34 | bluestore/BlockDevice.cc | |
35 | bluestore/BlueFS.cc | |
36 | bluestore/bluefs_types.cc | |
37 | bluestore/BlueRocksEnv.cc | |
38 | bluestore/BlueStore.cc | |
39 | bluestore/bluestore_types.cc | |
40 | bluestore/FreelistManager.cc | |
41 | bluestore/KernelDevice.cc | |
42 | bluestore/StupidAllocator.cc | |
43 | bluestore/BitMapAllocator.cc | |
44 | bluestore/BitAllocator.cc | |
45 | ) | |
46 | endif(HAVE_LIBAIO) | |
47 | ||
48 | if(WITH_FUSE) | |
49 | list(APPEND libos_srcs | |
50 | FuseStore.cc) | |
51 | endif(WITH_FUSE) | |
52 | ||
53 | if(WITH_SPDK) | |
54 | list(APPEND libos_srcs | |
55 | bluestore/NVMEDevice.cc) | |
56 | ADD_DEFINITIONS(-D__SSE4_2__ -D__SSE4_1__ -D__SSSE3__ -D__SSE3__) | |
57 | add_compile_options(-mcrc32 -msse3 -mssse3 -msse4.1 -msse4.2) | |
58 | endif() | |
59 | ||
60 | add_library(os STATIC ${libos_srcs} $<TARGET_OBJECTS:kv_objs>) | |
61 | ||
62 | if(HAVE_LIBAIO) | |
63 | target_link_libraries(os ${AIO_LIBRARIES}) | |
64 | endif(HAVE_LIBAIO) | |
65 | ||
66 | if(WITH_FUSE) | |
67 | target_link_libraries(os ${FUSE_LIBRARIES}) | |
68 | endif() | |
69 | ||
70 | if(WITH_SPDK) | |
71 | target_link_libraries(os | |
72 | ${SPDK_LIBRARIES} | |
73 | ${DPDK_LIBRARIES}) | |
74 | target_include_directories(os | |
75 | PRIVATE | |
76 | ${DPDK_INCLUDE_DIR}) | |
77 | endif(WITH_SPDK) | |
78 | ||
79 | if(WITH_LTTNG) | |
80 | add_dependencies(os objectstore-tp) | |
81 | endif() | |
82 | ||
83 | target_link_libraries(os kv) | |
84 | ||
85 | add_dependencies(os compressor_plugins) | |
86 | add_dependencies(os crypto_plugins) | |
87 | ||
88 | ||
89 | if(HAVE_LIBAIO) | |
90 | add_executable(ceph-bluestore-tool | |
91 | bluestore/bluestore_tool.cc) | |
92 | target_link_libraries(ceph-bluestore-tool | |
93 | os global) | |
94 | install(TARGETS ceph-bluestore-tool | |
95 | DESTINATION bin) | |
96 | endif() | |
97 | ||
98 | if(WITH_SPDK) | |
99 | include_directories("${CMAKE_SOURCE_DIR}/src/spdk/include") | |
100 | add_custom_target(build_spdk | |
101 | COMMAND | |
102 | $(MAKE) DPDK_INC_DIR=${DPDK_INCLUDE_DIR} | |
103 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/spdk/lib | |
104 | COMMENT "spdk building") | |
105 | # TODO: should use add_library(spdk INTERFACE IMPORTED) instead in new cmake, | |
106 | # if INTERFACE is supported. | |
107 | foreach(lib nvme log env_dpdk util) | |
108 | add_library(spdk_${lib} STATIC IMPORTED) | |
109 | add_dependencies(spdk_${lib} build_spdk) | |
110 | target_link_libraries(os LINK_PRIVATE spdk_${lib}) | |
111 | set_target_properties(spdk_${lib} PROPERTIES | |
112 | IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/src/spdk/build/lib/libspdk_${lib}.a" | |
113 | INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_SOURCE_DIR}/src/spdk/include") | |
114 | list(APPEND SPDK_LIBRARIES spdk_${lib}) | |
115 | endforeach() | |
116 | endif(WITH_SPDK) | |
117 | ||
118 | if(WITH_LTTNG AND WITH_EVENTTRACE) | |
119 | add_dependencies(os eventtrace_tp) | |
120 | endif() |