From: Kefu Chai Date: Sat, 5 Sep 2020 05:00:17 +0000 (+0800) Subject: cmake: add "WITH_ZBD" option X-Git-Tag: v16.1.0~1161^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F36955%2Fhead;p=ceph.git cmake: add "WITH_ZBD" option for enabling Zoned Block Device support using libzbd Signed-off-by: Kefu Chai --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 05cba0336942..5df53eac1749 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 586a9b2628b8..2f0cd695bd07 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 375811a68043..99df5c0c00fc 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