From d53638630631cc6596a1238228332e7579318415 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sat, 5 Sep 2020 13:00:17 +0800 Subject: [PATCH] cmake: add "WITH_ZBD" option for enabling Zoned Block Device support using libzbd Signed-off-by: Kefu Chai --- CMakeLists.txt | 6 ++++-- src/blk/CMakeLists.txt | 6 ++++-- src/os/CMakeLists.txt | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 05cba03369421..5df53eac17493 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -183,8 +183,6 @@ if(WITH_BLUESTORE) if(LINUX) find_package(aio) set(HAVE_LIBAIO ${AIO_FOUND}) - find_package(zbd) - set(HAVE_LIBZBD ${ZBD_FOUND}) elseif(FREEBSD) # POSIX AIO is integrated into FreeBSD kernel, and exposed by libc. set(HAVE_POSIXAIO ON) @@ -192,6 +190,10 @@ if(WITH_BLUESTORE) endif() include(CMakeDependentOption) + +CMAKE_DEPENDENT_OPTION(WITH_ZBD "Enable libzbd bluestore backend" OFF + "WITH_BLUESTORE" OFF) + CMAKE_DEPENDENT_OPTION(WITH_LIBURING "Enable io_uring bluestore backend" OFF "WITH_BLUESTORE;HAVE_LIBAIO" OFF) set(HAVE_LIBURING ${WITH_LIBURING}) diff --git a/src/blk/CMakeLists.txt b/src/blk/CMakeLists.txt index 586a9b2628b84..2f0cd695bd079 100644 --- a/src/blk/CMakeLists.txt +++ b/src/blk/CMakeLists.txt @@ -20,7 +20,9 @@ if(WITH_SPDK) spdk/NVMEDevice.cc) endif() -if(HAVE_LIBZBD) +if(WITH_LIBZBD) + find_package(zbd REQUIRED) + set(HAVE_LIBZBD ${ZBD_FOUND}) list(APPEND libblk_srcs zoned/HMSMRDevice.cc) endif() @@ -36,7 +38,7 @@ if(WITH_SPDK) target_link_libraries(blk PRIVATE ${SPDK_LIBRARIES}) endif() -if(HAVE_LIBZBD) +if(WITH_LIBZBD) target_link_libraries(blk PRIVATE ${ZBD_LIBRARIES}) endif() diff --git a/src/os/CMakeLists.txt b/src/os/CMakeLists.txt index 375811a680438..99df5c0c00fc7 100644 --- a/src/os/CMakeLists.txt +++ b/src/os/CMakeLists.txt @@ -37,7 +37,7 @@ if(WITH_BLUESTORE) ) endif(WITH_BLUESTORE) -if(HAVE_LIBZBD) +if(WITH_LIBZBD) list(APPEND libos_srcs bluestore/zoned_types.cc bluestore/ZonedFreelistManager.cc -- 2.39.5