Skip to content

Commit

Permalink
[cmake] add rocksdb third party cache new (#54646)
Browse files Browse the repository at this point in the history
* fix

* fix

* fix

* fix
  • Loading branch information
enkilee authored Jul 17, 2023
1 parent f66a705 commit 2241c97
Showing 1 changed file with 29 additions and 5 deletions.
34 changes: 29 additions & 5 deletions cmake/external/rocksdb.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ include(ExternalProject)

# find_package(jemalloc REQUIRED)

set(ROCKSDB_SOURCE_DIR ${PADDLE_SOURCE_DIR}/third_party/rocksdb)
set(ROCKSDB_TAG 6.19.fb)

set(JEMALLOC_INCLUDE_DIR ${THIRD_PARTY_PATH}/install/jemalloc/include)
set(JEMALLOC_LIBRARIES
${THIRD_PARTY_PATH}/install/jemalloc/lib/libjemalloc_pic.a)
Expand Down Expand Up @@ -48,6 +51,29 @@ set(ROCKSDB_CMAKE_C_FLAGS
)
include_directories(${ROCKSDB_INCLUDE_DIR})

file(GLOB ROCKSDB_SOURCE_FILE_LIST ${ROCKSDB_SOURCE_DIR})
list(LENGTH ROCKSDB_SOURCE_FILE_LIST RES_LEN)
if(RES_LEN EQUAL 0)
execute_process(
COMMAND ${GIT_EXECUTABLE} clone -b ${ROCKSDB_TAG}
"https://github.com/Thunderbrook/rocksdb" ${ROCKSDB_SOURCE_DIR})
else()
# check git tag
execute_process(
COMMAND ${GIT_EXECUTABLE} describe --abbrev=6 --always --tags
OUTPUT_VARIABLE VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET
WORKING_DIRECTORY ${ROCKSDB_SOURCE_DIR})
if(NOT ${VERSION} STREQUAL ${ROCKSDB_TAG})
file(REMOVE_RECURSE ${ROCKSDB_PREFIX_DIR})
file(REMOVE_RECURSE ${ROCKSDB_INSTALL_DIR})
message(
WARNING "rocksdb version is not ${VERSION}, checkout to ${ROCKSDB_TAG}")
execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${ROCKSDB_TAG}
WORKING_DIRECTORY ${ROCKSDB_SOURCE_DIR})
endif()
endif()

set(CMAKE_CXX_LINK_EXECUTABLE
"${CMAKE_CXX_LINK_EXECUTABLE} -pthread -Wl,--no-as-needed -ldl -lrt -lz")
if(WITH_ARM)
Expand All @@ -63,8 +89,7 @@ ExternalProject_Add(
extern_rocksdb
${EXTERNAL_PROJECT_LOG_ARGS}
PREFIX ${ROCKSDB_PREFIX_DIR}
GIT_REPOSITORY "https://github.com/Thunderbrook/rocksdb"
GIT_TAG 6.19.fb
SOURCE_DIR ${ROCKSDB_SOURCE_DIR}
UPDATE_COMMAND ""
PATCH_COMMAND ${ROCKSDB_PATCH_COMMAND}
CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
Expand All @@ -81,10 +106,9 @@ ExternalProject_Add(
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
INSTALL_COMMAND
mkdir -p ${ROCKSDB_INSTALL_DIR}/lib/ && cp
${ROCKSDB_PREFIX_DIR}/src/extern_rocksdb/librocksdb.a ${ROCKSDB_LIBRARIES}
&& cp -r ${ROCKSDB_PREFIX_DIR}/src/extern_rocksdb/include
${ROCKSDB_PREFIX_DIR}/src/extern_rocksdb-build/librocksdb.a
${ROCKSDB_LIBRARIES} && cp -r ${ROCKSDB_SOURCE_DIR}/include
${ROCKSDB_INSTALL_DIR}/
BUILD_IN_SOURCE 1
BUILD_BYPRODUCTS ${ROCKSDB_LIBRARIES})

add_library(rocksdb STATIC IMPORTED GLOBAL)
Expand Down

0 comments on commit 2241c97

Please sign in to comment.