From 6c1f4c646cf41c418eb9442d4f5a2772f71e310e Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Mon, 9 Jun 2025 07:58:29 +0000 Subject: [PATCH] crimson/os/alienstore/CMakeLists: Cleanup alien::cflags interface MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit alienstore FTBFS [1] due to virtual-dtor warning when compiling seastar [2]. Instead of using alien::cflags which define INTERFACE_COMPILE_OPTIONS of -Wno-non-virtual-dtor - Let's directly add this compile option to tagets using seastar. Crimson non-alien targets solve that with crimson::cflags which defines the relevant compile flag. However, we don't reuse it here since it also carries WITH_CRIMSON. As both crimson::cflags and crimson-alienstore which are using seastar have to set no-non-virtual-dtor - The compile option moved to the common cmake file instead of setting it in both targets. [1] ``` crimson/os/alienstore/alien_log.cc:21:28: required from here seastar/include/seastar/core/future.hh:666:7: warning: ‘class seastar::continuation_base’ has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ``` [2] See 36963dd7ccd50eff2f8b91d97ffb66295a7a6292 Signed-off-by: Matan Breizman --- src/CMakeLists.txt | 2 ++ src/crimson/CMakeLists.txt | 1 - src/crimson/os/alienstore/CMakeLists.txt | 7 +------ 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8a92da63dd9fc..b4b2c349a6a46 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -485,6 +485,8 @@ if(WITH_CRIMSON) # target: Seastar exports this directory created at build-time file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/seastar/gen/include") file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/seastar/gen/src") + # required by any target that links to seastar + target_compile_options(seastar PUBLIC "-Wno-non-virtual-dtor") add_subdirectory(crimson) endif() diff --git a/src/crimson/CMakeLists.txt b/src/crimson/CMakeLists.txt index c86ac5ae12afe..edeb04a1d802d 100644 --- a/src/crimson/CMakeLists.txt +++ b/src/crimson/CMakeLists.txt @@ -3,7 +3,6 @@ set(crimson_cflag_definitions "WITH_CRIMSON=1") set_target_properties(crimson::cflags PROPERTIES INTERFACE_COMPILE_DEFINITIONS "${crimson_cflag_definitions}" - INTERFACE_COMPILE_OPTIONS $<$:-Wno-non-virtual-dtor> INTERFACE_LINK_LIBRARIES Seastar::seastar) set(crimson_common_srcs diff --git a/src/crimson/os/alienstore/CMakeLists.txt b/src/crimson/os/alienstore/CMakeLists.txt index 3037bc74bbc3f..18d9d8b99dccb 100644 --- a/src/crimson/os/alienstore/CMakeLists.txt +++ b/src/crimson/os/alienstore/CMakeLists.txt @@ -36,10 +36,6 @@ if(WITH_BREAKPAD) target_link_libraries(crimson-alien-common Breakpad::client) endif() -add_library(alien::cflags INTERFACE IMPORTED) -set_target_properties(alien::cflags PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES $) - set(alien_store_srcs alien_store.cc thread_pool.cc @@ -77,12 +73,11 @@ endif() # For crimson-alienstore WITH_CRIMSON is not defined target_link_libraries(crimson-alienstore PRIVATE - alien::cflags + seastar ${FMT_LIB} kv heap_profiler crimson-alien-common ${BLKID_LIBRARIES} ${UDEV_LIBRARIES} - seastar blk) -- 2.39.5