find_package(rocksdb 5.8 REQUIRED)
endif()
+option(WITH_SEASTAR "Build seastar components")
+set(HAVE_SEASTAR ${WITH_SEASTAR})
+
# Boost
option(WITH_SYSTEM_BOOST "require and build with system Boost" OFF)
if(WITH_BOOST_CONTEXT)
list(APPEND BOOST_COMPONENTS context coroutine)
endif()
+list(APPEND BOOST_COMPONENTS test timer)
set(Boost_USE_MULTITHREADED ON)
# require minimally the bundled version
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -rdynamic")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wstrict-null-sentinel -Woverloaded-virtual")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-new-ttp-matching")
- if(NOT WITH_OSD_INSTRUMENT_FUNCTIONS)
+ if(NOT WITH_OSD_INSTRUMENT_FUNCTIONS AND NOT HAVE_SEASTAR)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
endif()
elseif(CMAKE_CXX_COMPILER_ID STREQUAL Clang)
# needed for source files that friend unit tests (e.g., using FRIEND_TEST)
include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/src/googletest/googletest/include")
+if(WITH_SEASTAR)
+ add_subdirectory(seastar)
+endif()
+
set(xio_common_srcs)
if(HAVE_XIO)
list(APPEND xio_common_srcs