gcc-11 and cmake related cleanup (#9286)
Summary: in hope to get rockdb compiled with GCC-11 without warning * util/bloom_test: init a variable before using it to silence the GCC warning like ``` util/bloom_test.cc:1253:31: error: ‘<anonymous>’ may be used uninitialized [-Werror=maybe-uninitialized] 1253 | Slice key_slice{key_bytes, 8}; | ^ ... include/rocksdb/slice.h:41:3: note: by argument 2 of type ‘const char*’ to ‘rocksdb::Slice::Slice(const char*, size_t)’ declared here 41 | Slice(const char* d, size_t n) : data_(d), size_(n) {} | ^~~~~ util/bloom_test.cc:1249:3: note: ‘<anonymous>’ declared here 1249 | }; | ^ cc1plus: all warnings being treated as errors ``` * cmake: add find_package(uring ...) find liburing in a more consistent way. also it is the encouraged way for finding a library. Pull Request resolved: https://github.com/facebook/rocksdb/pull/9286 Reviewed By: mrambacher Differential Revision: D33165241 Pulled By: jay-zhuang fbshipit-source-id: 9f3487e11b4e40fd8f1c97c8facb24a190e5ce31
This commit is contained in:
parent
7bfad07194
commit
cc1d4e3d33
@ -352,25 +352,17 @@ int main() {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
" BUILTIN_ATOMIC)
|
" BUILTIN_ATOMIC)
|
||||||
if (NOT BUILTIN_ATOMIC)
|
if (NOT BUILTIN_ATOMIC)
|
||||||
#TODO: Check if -latomic exists
|
#TODO: Check if -latomic exists
|
||||||
list(APPEND THIRDPARTY_LIBS atomic)
|
list(APPEND THIRDPARTY_LIBS atomic)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (WITH_LIBURING)
|
if (WITH_LIBURING)
|
||||||
set(CMAKE_REQUIRED_FLAGS "-luring")
|
find_package(uring)
|
||||||
CHECK_CXX_SOURCE_COMPILES("
|
if (uring_FOUND)
|
||||||
#include <liburing.h>
|
|
||||||
int main() {
|
|
||||||
struct io_uring ring;
|
|
||||||
io_uring_queue_init(1, &ring, 0);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
" HAS_LIBURING)
|
|
||||||
if (HAS_LIBURING)
|
|
||||||
add_definitions(-DROCKSDB_IOURING_PRESENT)
|
add_definitions(-DROCKSDB_IOURING_PRESENT)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -luring")
|
list(APPEND THIRDPARTY_LIBS uring::uring)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
26
cmake/modules/Finduring.cmake
Normal file
26
cmake/modules/Finduring.cmake
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# - Find liburing
|
||||||
|
#
|
||||||
|
# uring_INCLUDE_DIR - Where to find liburing.h
|
||||||
|
# uring_LIBRARIES - List of libraries when using uring.
|
||||||
|
# uring_FOUND - True if uring found.
|
||||||
|
|
||||||
|
find_path(uring_INCLUDE_DIR
|
||||||
|
NAMES liburing.h)
|
||||||
|
find_library(uring_LIBRARIES
|
||||||
|
NAMES liburing.a liburing)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(uring
|
||||||
|
DEFAULT_MSG uring_LIBRARIES uring_INCLUDE_DIR)
|
||||||
|
|
||||||
|
mark_as_advanced(
|
||||||
|
uring_INCLUDE_DIR
|
||||||
|
uring_LIBRARIES)
|
||||||
|
|
||||||
|
if(uring_FOUND AND NOT TARGET uring::uring)
|
||||||
|
add_library(uring::uring UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(uring::uring PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${uring_INCLUDE_DIR}"
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||||
|
IMPORTED_LOCATION "${uring_LIBRARIES}")
|
||||||
|
endif()
|
@ -1244,7 +1244,7 @@ INSTANTIATE_TEST_CASE_P(Full, FullBloomTest,
|
|||||||
|
|
||||||
static double GetEffectiveBitsPerKey(FilterBitsBuilder* builder) {
|
static double GetEffectiveBitsPerKey(FilterBitsBuilder* builder) {
|
||||||
union {
|
union {
|
||||||
uint64_t key_value;
|
uint64_t key_value = 0;
|
||||||
char key_bytes[8];
|
char key_bytes[8];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user