Build RocksDB with CMake

Reviewers: teon.banek

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D2037
This commit is contained in:
Matej Ferencevic 2019-05-10 16:07:27 +02:00
parent 7a586b3686
commit a58808d0f6
2 changed files with 8 additions and 20 deletions

View File

@ -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

View File

@ -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