]> git.proxmox.com Git - ceph.git/blob - ceph/src/blk/CMakeLists.txt
import ceph 16.2.6
[ceph.git] / ceph / src / blk / CMakeLists.txt
1 if(WITH_BLUESTORE OR WITH_RBD_SSD_CACHE)
2 list(APPEND libblk_srcs
3 BlockDevice.cc)
4 endif()
5
6 if(HAVE_LIBAIO OR HAVE_POSIXAIO)
7 list(APPEND libblk_srcs
8 kernel/KernelDevice.cc
9 kernel/io_uring.cc
10 aio/aio.cc)
11 endif()
12
13 if(WITH_BLUESTORE_PMEM)
14 list(APPEND libblk_srcs
15 pmem/PMEMDevice.cc)
16 endif()
17
18 if(WITH_SPDK)
19 list(APPEND libblk_srcs
20 spdk/NVMEDevice.cc)
21 endif()
22
23 if(WITH_ZBD)
24 list(APPEND libblk_srcs
25 zoned/HMSMRDevice.cc)
26 endif()
27
28 add_library(blk STATIC ${libblk_srcs})
29 target_include_directories(blk PRIVATE "./")
30
31 if(HAVE_LIBAIO)
32 target_link_libraries(blk PUBLIC ${AIO_LIBRARIES})
33 endif(HAVE_LIBAIO)
34
35 if(WITH_SPDK)
36 target_link_libraries(blk PRIVATE ${SPDK_LIBRARIES})
37 endif()
38
39 if(WITH_ZBD)
40 target_link_libraries(blk PRIVATE ${ZBD_LIBRARIES})
41 endif()
42
43 if(WITH_BLUESTORE_PMEM)
44 target_link_libraries(blk
45 PRIVATE pmem::pmem)
46 endif()
47
48 if(WITH_EVENTTRACE)
49 add_dependencies(blk eventtrace_tp)
50 endif()
51
52 if(WITH_LIBURING)
53 if(WITH_SYSTEM_LIBURING)
54 find_package(uring REQUIRED)
55 else()
56 include(Builduring)
57 build_uring()
58 endif()
59 target_link_libraries(blk PRIVATE uring::uring)
60 endif()