diff options
Diffstat (limited to '')
-rw-r--r-- | src/blk/CMakeLists.txt | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/blk/CMakeLists.txt b/src/blk/CMakeLists.txt new file mode 100644 index 000000000..849f3eef9 --- /dev/null +++ b/src/blk/CMakeLists.txt @@ -0,0 +1,60 @@ +if(WITH_BLUESTORE OR WITH_RBD_SSD_CACHE) +list(APPEND libblk_srcs + BlockDevice.cc) +endif() + +if(HAVE_LIBAIO OR HAVE_POSIXAIO) + list(APPEND libblk_srcs + kernel/KernelDevice.cc + kernel/io_uring.cc + aio/aio.cc) +endif() + +if(WITH_BLUESTORE_PMEM) + list(APPEND libblk_srcs + pmem/PMEMDevice.cc) +endif() + +if(WITH_SPDK) + list(APPEND libblk_srcs + spdk/NVMEDevice.cc) +endif() + +if(WITH_ZBD) + list(APPEND libblk_srcs + zoned/HMSMRDevice.cc) +endif() + +add_library(blk STATIC ${libblk_srcs}) +target_include_directories(blk PRIVATE "./") + +if(HAVE_LIBAIO) + target_link_libraries(blk PUBLIC ${AIO_LIBRARIES}) +endif(HAVE_LIBAIO) + +if(WITH_SPDK) + target_link_libraries(blk PRIVATE ${SPDK_LIBRARIES}) +endif() + +if(WITH_ZBD) + target_link_libraries(blk PRIVATE ${ZBD_LIBRARIES}) +endif() + +if(WITH_BLUESTORE_PMEM) + target_link_libraries(blk + PRIVATE pmem::pmem) +endif() + +if(WITH_EVENTTRACE) + add_dependencies(blk eventtrace_tp) +endif() + +if(WITH_LIBURING) + if(WITH_SYSTEM_LIBURING) + find_package(uring REQUIRED) + else() + include(Builduring) + build_uring() + endif() + target_link_libraries(blk PRIVATE uring::uring) +endif() |