mirror of
https://github.com/apple/foundationdb.git
synced 2025-05-14 18:02:31 +08:00
Add support for using pre-packaged jemalloc, doctest_proj, and fix python support for old fdbserver binaries
This commit is contained in:
parent
bcc05b1058
commit
d2af157189
43
bindings/c/test/unit/third_party/CMakeLists.txt
vendored
43
bindings/c/test/unit/third_party/CMakeLists.txt
vendored
@ -1,21 +1,28 @@
|
||||
# Download doctest repo.
|
||||
include(ExternalProject)
|
||||
find_package(Git REQUIRED)
|
||||
if(EXISTS /opt/doctest_proj_2.4.8)
|
||||
set(DOCTEST_INCLUDE_DIR "/opt/doctest_proj_2.4.8/doctest" CACHE INTERNAL "Path to include folder for doctest")
|
||||
add_library(doctest INTERFACE)
|
||||
add_dependencies(doctest doctest_proj)
|
||||
target_include_directories(doctest INTERFACE "${DOCTEST_INCLUDE_DIR}")
|
||||
else()
|
||||
include(ExternalProject)
|
||||
find_package(Git REQUIRED)
|
||||
|
||||
ExternalProject_Add(
|
||||
doctest_proj
|
||||
PREFIX ${CMAKE_BINARY_DIR}/doctest
|
||||
GIT_REPOSITORY https://github.com/onqtam/doctest.git
|
||||
GIT_TAG 7b9885133108ae301ddd16e2651320f54cafeba7 # v2.4.8
|
||||
TIMEOUT 10
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
LOG_DOWNLOAD ON
|
||||
)
|
||||
ExternalProject_Add(
|
||||
doctest_proj
|
||||
PREFIX ${CMAKE_BINARY_DIR}/doctest
|
||||
GIT_REPOSITORY https://github.com/onqtam/doctest.git
|
||||
GIT_TAG 7b9885133108ae301ddd16e2651320f54cafeba7 # v2.4.8
|
||||
TIMEOUT 10
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
LOG_DOWNLOAD ON
|
||||
)
|
||||
|
||||
ExternalProject_Get_Property(doctest_proj source_dir)
|
||||
set(DOCTEST_INCLUDE_DIR "${source_dir}/doctest" CACHE INTERNAL "Path to include folder for doctest")
|
||||
add_library(doctest INTERFACE)
|
||||
add_dependencies(doctest doctest_proj)
|
||||
target_include_directories(doctest INTERFACE "${DOCTEST_INCLUDE_DIR}")
|
||||
ExternalProject_Get_Property(doctest_proj source_dir)
|
||||
set(DOCTEST_INCLUDE_DIR "${source_dir}/doctest" CACHE INTERNAL "Path to include folder for doctest")
|
||||
add_library(doctest INTERFACE)
|
||||
add_dependencies(doctest doctest_proj)
|
||||
target_include_directories(doctest INTERFACE "${DOCTEST_INCLUDE_DIR}")
|
||||
endif()
|
@ -6,19 +6,23 @@ endif()
|
||||
|
||||
add_library(im_jemalloc_pic STATIC IMPORTED)
|
||||
add_library(im_jemalloc STATIC IMPORTED)
|
||||
include(ExternalProject)
|
||||
set(JEMALLOC_DIR "${CMAKE_BINARY_DIR}/jemalloc")
|
||||
ExternalProject_add(Jemalloc_project
|
||||
URL "https://github.com/jemalloc/jemalloc/releases/download/5.3.0/jemalloc-5.3.0.tar.bz2"
|
||||
URL_HASH SHA256=2db82d1e7119df3e71b7640219b6dfe84789bc0537983c3b7ac4f7189aecfeaa
|
||||
BUILD_BYPRODUCTS "${JEMALLOC_DIR}/include/jemalloc/jemalloc.h"
|
||||
"${JEMALLOC_DIR}/lib/libjemalloc.a"
|
||||
"${JEMALLOC_DIR}/lib/libjemalloc_pic.a"
|
||||
CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} ./configure --prefix=${JEMALLOC_DIR} --enable-static --disable-cxx --enable-prof
|
||||
BUILD_IN_SOURCE ON
|
||||
BUILD_COMMAND make
|
||||
INSTALL_DIR "${JEMALLOC_DIR}"
|
||||
INSTALL_COMMAND make install)
|
||||
if(EXISTS /opt/jemalloc_5.3.0)
|
||||
set(JEMALLOC_DIR /opt/jemalloc_5.3.0)
|
||||
else()
|
||||
include(ExternalProject)
|
||||
set(JEMALLOC_DIR "${CMAKE_BINARY_DIR}/jemalloc")
|
||||
ExternalProject_add(Jemalloc_project
|
||||
URL "https://github.com/jemalloc/jemalloc/releases/download/5.3.0/jemalloc-5.3.0.tar.bz2"
|
||||
URL_HASH SHA256=2db82d1e7119df3e71b7640219b6dfe84789bc0537983c3b7ac4f7189aecfeaa
|
||||
BUILD_BYPRODUCTS "${JEMALLOC_DIR}/include/jemalloc/jemalloc.h"
|
||||
"${JEMALLOC_DIR}/lib/libjemalloc.a"
|
||||
"${JEMALLOC_DIR}/lib/libjemalloc_pic.a"
|
||||
CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} ./configure --prefix=${JEMALLOC_DIR} --enable-static --disable-cxx --enable-prof
|
||||
BUILD_IN_SOURCE ON
|
||||
BUILD_COMMAND make
|
||||
INSTALL_DIR "${JEMALLOC_DIR}"
|
||||
INSTALL_COMMAND make install)
|
||||
endif()
|
||||
add_dependencies(im_jemalloc Jemalloc_project)
|
||||
add_dependencies(im_jemalloc_pic Jemalloc_project)
|
||||
set_target_properties(im_jemalloc_pic PROPERTIES IMPORTED_LOCATION "${JEMALLOC_DIR}/lib/libjemalloc_pic.a")
|
||||
|
@ -16,9 +16,8 @@ set(SANITIZER_OPTIONS "UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1;TSAN_OPT
|
||||
# to test upgrades
|
||||
if(WITH_PYTHON)
|
||||
find_program(OLD_FDBSERVER_BINARY
|
||||
fdbserver fdbserver.exe
|
||||
HINTS /opt/foundationdb/old /usr/sbin /usr/libexec /usr/local/sbin /usr/local/libexec)
|
||||
|
||||
fdbserver-7.1.23 fdbserver fdbserver.exe
|
||||
HINTS /opt/foundationdb/old/7.1.23/bin/ /opt/foundationdb/old /usr/sbin /usr/libexec /usr/local/sbin /usr/local/libexec)
|
||||
if(OLD_FDBSERVER_BINARY)
|
||||
message(STATUS "Use old fdb at ${OLD_FDBSERVER_BINARY}")
|
||||
else()
|
||||
|
Loading…
x
Reference in New Issue
Block a user