mirror of
https://github.com/isar/libmdbx.git
synced 2025-10-07 01:22:20 +08:00
mdbx-build: start using CMake (incomplete; no properly installation for now).
This commit is contained in:
@@ -1,10 +1,29 @@
|
||||
set(TARGET mdbx_test)
|
||||
project(${TARGET})
|
||||
list(FIND CMAKE_CXX_COMPILE_FEATURES cxx_std_17 HAS_CXX17)
|
||||
list(FIND CMAKE_CXX_COMPILE_FEATURES cxx_std_14 HAS_CXX14)
|
||||
list(FIND CMAKE_CXX_COMPILE_FEATURES cxx_relaxed_constexpr HAS_RELAXED_CONSTEXPR)
|
||||
if(NOT DEFINED MDBX_CXX_STANDARD)
|
||||
if(DEFINED CMAKE_CXX_STANDARD)
|
||||
set(MDBX_CXX_STANDARD ${CMAKE_CXX_STANDARD})
|
||||
elseif(NOT HAS_CXX17 LESS 0)
|
||||
set(MDBX_CXX_STANDARD 17)
|
||||
elseif(NOT HAS_CXX14 LESS 0)
|
||||
set(MDBX_CXX_STANDARD 14)
|
||||
else()
|
||||
set(MDBX_CXX_STANDARD 11)
|
||||
endif()
|
||||
endif()
|
||||
message(STATUS "Use C++${MDBX_CXX_STANDARD} for libmdbx's test")
|
||||
if(NOT SUBPROJECT OR NOT DEFINED CMAKE_CXX_STANDARD)
|
||||
set(CMAKE_CXX_STANDARD ${MDBX_CXX_STANDARD})
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-missing-declarations")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-cast-qual")
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
set(TEST_OSAL windows)
|
||||
else()
|
||||
set(TEST_OSAL unix)
|
||||
endif()
|
||||
|
||||
add_executable(${TARGET}
|
||||
add_executable(mdbx_test
|
||||
base.h
|
||||
cases.cc
|
||||
chrono.cc
|
||||
@@ -21,7 +40,7 @@ add_executable(${TARGET}
|
||||
log.h
|
||||
main.cc
|
||||
osal.h
|
||||
osal-unix.cc
|
||||
osal-${TEST_OSAL}.cc
|
||||
test.cc
|
||||
test.h
|
||||
try.cc
|
||||
@@ -31,7 +50,25 @@ add_executable(${TARGET}
|
||||
ttl.cc
|
||||
)
|
||||
|
||||
target_link_libraries(${TARGET}
|
||||
mdbx
|
||||
set_target_properties(mdbx_test PROPERTIES
|
||||
INTERPROCEDURAL_OPTIMIZATION $<BOOL:${INTERPROCEDURAL_OPTIMIZATION}>
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
CXX_STANDARD ${MDBX_CXX_STANDARD}
|
||||
CXX_STANDARD_REQUIRED ON
|
||||
)
|
||||
|
||||
if(CC_HAS_FASTMATH)
|
||||
target_compile_options(mdbx_test PRIVATE "-ffast-math")
|
||||
endif()
|
||||
if(CC_HAS_VISIBILITY AND (LTO_ENABLED OR INTERPROCEDURAL_OPTIMIZATION))
|
||||
set_target_properties(mdbx_test PROPERTIES LINK_FLAGS "-fvisibility=hidden")
|
||||
endif()
|
||||
|
||||
target_link_libraries(mdbx_test mdbx ${LIB_MATH})
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
target_link_libraries(mdbx_test winmm.lib)
|
||||
endif()
|
||||
|
||||
if(UNIX AND NOT SUBPROJECT)
|
||||
add_subdirectory(pcrf)
|
||||
endif()
|
||||
|
@@ -82,6 +82,7 @@
|
||||
|
||||
#define MDBX_INTERNAL_FUNC
|
||||
#define MDBX_INTERNAL_VAR extern
|
||||
#define MDBX_TOOLS /* Avoid using internal mdbx_assert() */
|
||||
#include "../mdbx.h"
|
||||
#include "../src/elements/defs.h"
|
||||
#include "../src/elements/osal.h"
|
||||
|
@@ -1,7 +1,5 @@
|
||||
set(TARGET pcrf_test)
|
||||
project(${TARGET})
|
||||
|
||||
add_executable(${TARGET} pcrf_test.c)
|
||||
|
||||
target_include_directories(${TARGET} PRIVATE "${PROJECT_SOURCE_DIR}")
|
||||
target_link_libraries(${TARGET} mdbx)
|
||||
|
||||
|
@@ -36,7 +36,7 @@
|
||||
(int)((addr) >> 24), (int)((addr) >> 16 & 0xff), (int)((addr) >> 8 & 0xff), \
|
||||
(int)((addr)&0xff)
|
||||
|
||||
char opt_db_path[PATH_MAX] = "/root/lmdbx_bench2";
|
||||
char opt_db_path[PATH_MAX] = "./lmdbx_bench2";
|
||||
static MDBX_env *env;
|
||||
#define REC_COUNT 10240000
|
||||
int64_t ids[REC_COUNT * 10];
|
||||
|
Reference in New Issue
Block a user