diff options
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/modules/BuildRocksDB.cmake | 15 | ||||
-rw-r--r-- | cmake/modules/Builduring.cmake | 2 |
2 files changed, 15 insertions, 2 deletions
diff --git a/cmake/modules/BuildRocksDB.cmake b/cmake/modules/BuildRocksDB.cmake index f71f2bb6c..e0208f654 100644 --- a/cmake/modules/BuildRocksDB.cmake +++ b/cmake/modules/BuildRocksDB.cmake @@ -11,6 +11,13 @@ function(build_rocksdb) -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}) endif() + list(APPEND rocksdb_CMAKE_ARGS -DWITH_LIBURING=${WITH_LIBURING}) + if(WITH_LIBURING) + list(APPEND rocksdb_CMAKE_ARGS -During_INCLUDE_DIR=${URING_INCLUDE_DIR}) + list(APPEND rocksdb_CMAKE_ARGS -During_LIBRARIES=${URING_LIBRARY_DIR}) + list(APPEND rocksdb_INTERFACE_LINK_LIBRARIES uring::uring) + endif() + if(ALLOCATOR STREQUAL "jemalloc") list(APPEND rocksdb_CMAKE_ARGS -DWITH_JEMALLOC=ON) list(APPEND rocksdb_INTERFACE_LINK_LIBRARIES JeMalloc::JeMalloc) @@ -52,12 +59,13 @@ function(build_rocksdb) endif() include(CheckCXXCompilerFlag) check_cxx_compiler_flag("-Wno-deprecated-copy" HAS_WARNING_DEPRECATED_COPY) + set(rocksdb_CXX_FLAGS "${CMAKE_CXX_FLAGS}") if(HAS_WARNING_DEPRECATED_COPY) - set(rocksdb_CXX_FLAGS -Wno-deprecated-copy) + string(APPEND rocksdb_CXX_FLAGS " -Wno-deprecated-copy") endif() check_cxx_compiler_flag("-Wno-pessimizing-move" HAS_WARNING_PESSIMIZING_MOVE) if(HAS_WARNING_PESSIMIZING_MOVE) - set(rocksdb_CXX_FLAGS "${rocksdb_CXX_FLAGS} -Wno-pessimizing-move") + string(APPEND rocksdb_CXX_FLAGS " -Wno-pessimizing-move") endif() if(rocksdb_CXX_FLAGS) list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_CXX_FLAGS='${rocksdb_CXX_FLAGS}') @@ -84,6 +92,9 @@ function(build_rocksdb) INSTALL_COMMAND "" LIST_SEPARATOR !) + # make sure all the link libraries are built first + add_dependencies(rocksdb_ext ${rocksdb_INTERFACE_LINK_LIBRARIES}) + add_library(RocksDB::RocksDB STATIC IMPORTED) add_dependencies(RocksDB::RocksDB rocksdb_ext) set(rocksdb_INCLUDE_DIR "${rocksdb_SOURCE_DIR}/include") diff --git a/cmake/modules/Builduring.cmake b/cmake/modules/Builduring.cmake index 8683880f7..4b27a989a 100644 --- a/cmake/modules/Builduring.cmake +++ b/cmake/modules/Builduring.cmake @@ -32,6 +32,8 @@ function(build_uring) ExternalProject_Get_Property(liburing_ext source_dir) set(URING_INCLUDE_DIR "${source_dir}/src/include") set(URING_LIBRARY_DIR "${source_dir}/src") + set(URING_INCLUDE_DIR ${URING_INCLUDE_DIR} PARENT_SCOPE) + set(URING_LIBRARY_DIR ${URING_LIBRARY_DIR} PARENT_SCOPE) add_library(uring::uring STATIC IMPORTED GLOBAL) add_dependencies(uring::uring liburing_ext) |