From a58808d0f6c5c45c40d249ca11cf1d4497ae3b79 Mon Sep 17 00:00:00 2001 From: Matej Ferencevic Date: Fri, 10 May 2019 16:07:27 +0200 Subject: [PATCH] Build RocksDB with CMake Reviewers: teon.banek Reviewed By: teon.banek Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D2037 --- libs/CMakeLists.txt | 24 +++++------------------- libs/setup.sh | 4 +++- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt index a1f25b730..9059cf5e1 100644 --- a/libs/CMakeLists.txt +++ b/libs/CMakeLists.txt @@ -197,26 +197,12 @@ import_external_library(zlib STATIC # Setup RocksDB import_external_library(rocksdb STATIC - ${CMAKE_CURRENT_SOURCE_DIR}/rocksdb/librocksdb.a + ${CMAKE_CURRENT_SOURCE_DIR}/rocksdb/lib/librocksdb.a ${CMAKE_CURRENT_SOURCE_DIR}/rocksdb/include - # RocksDB's cmake on Linux doesn't generate static_lib target. - # That's the reason why NoOps (true) are used as configure - # and install commands. Build command uses RocksDB's Makefile. - CONFIGURE_COMMAND true - BUILD_COMMAND ROCKSDB_DISABLE_FALLOCATE=1 - ROCKSDB_DISABLE_SNAPPY=1 - ROCKSDB_DISABLE_LZ4=1 - ROCKSDB_DISABLE_ZSTD=1 - ROCKSDB_DISABLE_NUMA=1 - ROCKSDB_DISABLE_TBB=1 - ROCKSDB_DISABLE_JEMALLOC=1 - ROCKSDB_DISABLE_TCMALLOC=1 - make -C ${CMAKE_CURRENT_SOURCE_DIR}/rocksdb static_lib - -j${NPROC} - CC=${CMAKE_C_COMPILER} - CXX=${CMAKE_CXX_COMPILER} - DISABLE_WARNING_AS_ERROR=1 - INSTALL_COMMAND true) + CMAKE_ARGS -DUSE_RTTI=ON + -DWITH_TESTS=OFF + -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=true + BUILD_COMMAND $(MAKE) rocksdb) # Setup librdkafka. import_external_library(librdkafka STATIC diff --git a/libs/setup.sh b/libs/setup.sh index 0730bbf41..9ab379319 100755 --- a/libs/setup.sh +++ b/libs/setup.sh @@ -132,7 +132,9 @@ sed -i 's/install(TARGETS zlib zlibstatic/install(TARGETS zlibstatic/g' zlib/CMa rocksdb_tag="641fae60f63619ed5d0c9d9e4c4ea5a0ffa3e253" # v5.18.3 Feb 11, 2019 clone git://deps.memgraph.io/rocksdb.git rocksdb $rocksdb_tag # fix compilation flags to work with clang 8 -sed -i 's/-Wshadow/-Wno-defaulted-function-deleted/' rocksdb/Makefile +sed -i 's/-Wshadow/-Wno-defaulted-function-deleted/' rocksdb/CMakeLists.txt +# remove shared library from install dependencies +sed -i 's/TARGETS ${ROCKSDB_SHARED_LIB}/TARGETS ${ROCKSDB_SHARED_LIB} OPTIONAL/' rocksdb/CMakeLists.txt # kafka kafka_tag="c319b4e987d0bc4fe4f01cf91419d90b62061655" # Mar 8, 2018