14
14
15
15
include (ExternalProject)
16
16
17
+ # find_package(jemalloc REQUIRED)
18
+
19
+ set (JEMALLOC_INCLUDE_DIR ${THIRD_PARTY_PATH} /install /jemalloc/include )
20
+ set (JEMALLOC_LIBRARIES
21
+ ${THIRD_PARTY_PATH} /install /jemalloc/lib/libjemalloc_pic.a)
22
+ message (STATUS "rocksdb jemalloc:" ${JEMALLOC_LIBRARIES} )
23
+
17
24
set (ROCKSDB_PREFIX_DIR ${THIRD_PARTY_PATH} /rocksdb)
18
25
set (ROCKSDB_INSTALL_DIR ${THIRD_PARTY_PATH} /install /rocksdb)
19
26
set (ROCKSDB_INCLUDE_DIR
@@ -22,21 +29,39 @@ set(ROCKSDB_INCLUDE_DIR
22
29
set (ROCKSDB_LIBRARIES
23
30
"${ROCKSDB_INSTALL_DIR} /lib/librocksdb.a"
24
31
CACHE FILEPATH "rocksdb library." FORCE)
25
- set (ROCKSDB_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC" )
32
+ set (ROCKSDB_COMMON_FLAGS
33
+ "-g -pipe -O2 -W -Wall -Wno-unused-parameter -fPIC -fno-builtin-memcmp -fno-omit-frame-pointer"
34
+ )
35
+ set (ROCKSDB_FLAGS
36
+ "-DNDEBUG -DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE -DROCKSDB_PLATFORM_POSIX -DROCKSDB_LIB_IO_POSIX -DOS_LINUX -DROCKSDB_FALLOCATE_PRESENT -DHAVE_SSE42 -DHAVE_PCLMUL -DZLIB -DROCKSDB_MALLOC_USABLE_SIZE -DROCKSDB_PTHREAD_ADAPTIVE_MUTEX -DROCKSDB_BACKTRACE -DROCKSDB_SUPPORT_THREAD_LOCAL -DROCKSDB_USE_RTTI -DROCKSDB_SCHED_GETCPU_PRESENT -DROCKSDB_RANGESYNC_PRESENT -DROCKSDB_AUXV_GETAUXVAL_PRESENT"
37
+ )
38
+ set (ROCKSDB_CMAKE_CXX_FLAGS
39
+ "${ROCKSDB_COMMON_FLAGS} -DROCKSDB_LIBAIO_PRESENT -msse -msse4.2 -mpclmul ${ROCKSDB_FLAGS} -fPIC -I${JEMALLOC_INCLUDE_DIR} -lz -ldl"
40
+ )
41
+ set (ROCKSDB_CMAKE_C_FLAGS
42
+ "${ROCKSDB_COMMON_FLAGS} ${ROCKSDB_FLAGS} -DROCKSDB_LIBAIO_PRESENT -fPIC -I${JEMALLOC_INCLUDE_DIR} "
43
+ )
26
44
include_directories (${ROCKSDB_INCLUDE_DIR} )
27
45
46
+ set (CMAKE_CXX_LINK_EXECUTABLE
47
+ "${CMAKE_CXX_LINK_EXECUTABLE} -pthread -ldl -lrt -lz" )
28
48
ExternalProject_Add(
29
49
extern_rocksdb
30
50
${EXTERNAL_PROJECT_LOG_ARGS}
31
51
PREFIX ${ROCKSDB_PREFIX_DIR}
32
- GIT_REPOSITORY "https://github.com/facebook /rocksdb"
33
- GIT_TAG v6.10.1
52
+ GIT_REPOSITORY "https://github.com/Thunderbrook /rocksdb"
53
+ GIT_TAG 6.19.fb
34
54
UPDATE_COMMAND ""
35
55
CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
36
56
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
37
57
-DWITH_BZ2=OFF
38
58
-DPORTABLE=1
39
59
-DWITH_GFLAGS=OFF
60
+ -DWITH_TESTS=OFF
61
+ -DWITH_JEMALLOC=ON
62
+ -DWITH_BENCHMARK_TOOLS=OFF
63
+ -DJeMalloc_LIBRARIES=${JEMALLOC_LIBRARIES}
64
+ -DJeMalloc_INCLUDE_DIRS=${JEMALLOC_INCLUDE_DIR}
40
65
-DCMAKE_CXX_FLAGS=${ROCKSDB_CMAKE_CXX_FLAGS}
41
66
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
42
67
INSTALL_COMMAND
0 commit comments