CMake wiring, minor cleanup, minor test addition
Make Cmake things aware of BerkeleyDB and BlockchainBDB Make the BlockchainDB unit tests aware of BlockchainBDB
This commit is contained in:
parent
1bc89398b4
commit
cade0da8f1
6 changed files with 37 additions and 2 deletions
|
@ -162,6 +162,9 @@ include_directories(external/rapidjson)
|
||||||
# Final setup for liblmdb
|
# Final setup for liblmdb
|
||||||
include_directories(${LMDB_INCLUDE})
|
include_directories(${LMDB_INCLUDE})
|
||||||
|
|
||||||
|
# Final setup for Berkeley DB
|
||||||
|
include_directories(${BDB_INCLUDE})
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
add_definitions("/bigobj /MP /W3 /GS- /D_CRT_SECURE_NO_WARNINGS /wd4996 /wd4345 /D_WIN32_WINNT=0x0600 /DWIN32_LEAN_AND_MEAN /DGTEST_HAS_TR1_TUPLE=0 /FIinline_c.h /D__SSE4_1__")
|
add_definitions("/bigobj /MP /W3 /GS- /D_CRT_SECURE_NO_WARNINGS /wd4996 /wd4345 /D_WIN32_WINNT=0x0600 /DWIN32_LEAN_AND_MEAN /DGTEST_HAS_TR1_TUPLE=0 /FIinline_c.h /D__SSE4_1__")
|
||||||
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Dinline=__inline")
|
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Dinline=__inline")
|
||||||
|
|
5
external/CMakeLists.txt
vendored
5
external/CMakeLists.txt
vendored
|
@ -103,3 +103,8 @@ set(LMDB_STATIC ${LMDB_STATIC} PARENT_SCOPE)
|
||||||
set(LMDB_INCLUDE ${LMDB_INCLUDE} PARENT_SCOPE)
|
set(LMDB_INCLUDE ${LMDB_INCLUDE} PARENT_SCOPE)
|
||||||
set(LMDB_LIBRARY ${LMDB_LIBRARY} PARENT_SCOPE)
|
set(LMDB_LIBRARY ${LMDB_LIBRARY} PARENT_SCOPE)
|
||||||
set(LMDB_LIBRARY_DIRS ${LMDB_LIBRARY_DIRS} PARENT_SCOPE)
|
set(LMDB_LIBRARY_DIRS ${LMDB_LIBRARY_DIRS} PARENT_SCOPE)
|
||||||
|
|
||||||
|
set(BDB_STATIC ${BDB_STATIC} PARENT_SCOPE)
|
||||||
|
set(BDB_INCLUDE ${BDB_INCLUDE} PARENT_SCOPE)
|
||||||
|
set(BDB_LIBRARY ${BDB_LIBRARY} PARENT_SCOPE)
|
||||||
|
set(BDB_LIBRARY_DIRS ${BDB_LIBRARY_DIRS} PARENT_SCOPE)
|
||||||
|
|
24
external/db_drivers/CMakeLists.txt
vendored
24
external/db_drivers/CMakeLists.txt
vendored
|
@ -44,6 +44,28 @@ else()
|
||||||
set(LMDB_LIBRARY ${LMDB_LIBRARIES} PARENT_SCOPE)
|
set(LMDB_LIBRARY ${LMDB_LIBRARIES} PARENT_SCOPE)
|
||||||
set(LMDB_LIBRARY_DIRS "" PARENT_SCOPE)
|
set(LMDB_LIBRARY_DIRS "" PARENT_SCOPE)
|
||||||
else()
|
else()
|
||||||
die("Found liblmdb includes, but could not find liblmdb library. Please make sure you have installed liblmdb or liblmdb-dev or the equivalent")
|
die("Found liblmdb includes, but could not find liblmdb library. Please make sure you have installed liblmdb and liblmdb-dev or the equivalent")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_package(BerkeleyDB)
|
||||||
|
|
||||||
|
if(NOT DB_LIBRARIES OR STATIC)
|
||||||
|
add_subdirectory(libdb)
|
||||||
|
message(STATUS "BerkeleyDB not found, building from src tree")
|
||||||
|
|
||||||
|
set(BDB_STATIC true PARENT_SCOPE)
|
||||||
|
set(BDB_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/libdb" PARENT_SCOPE)
|
||||||
|
set(BDB_LIBRARY "db" PARENT_SCOPE)
|
||||||
|
else()
|
||||||
|
message(STATUS "Found BerkeleyDB include (db.h) in ${DB_INCLUDE_DIR}")
|
||||||
|
if(DB_LIBRARIES)
|
||||||
|
message(STATUS "Found BerkeleyDB shared library")
|
||||||
|
set(BDB_STATIC false PARENT_SCOPE)
|
||||||
|
set(BDB_INCLUDE ${DB_INCLUDE_DIR} PARENT_SCOPE)
|
||||||
|
set(BDB_LIBRARY ${DB_LIBRARIES} PARENT_SCOPE)
|
||||||
|
set(BDB_LIBRARY_DIRS "" PARENT_SCOPE)
|
||||||
|
else()
|
||||||
|
die("Found BerkeleyDB includes, but could not find BerkeleyDB library. Please make sure you have installed libdb and libdb-dev or the equivalent")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
set(blockchain_db_sources
|
set(blockchain_db_sources
|
||||||
blockchain_db.cpp
|
blockchain_db.cpp
|
||||||
lmdb/db_lmdb.cpp
|
lmdb/db_lmdb.cpp
|
||||||
|
berkeleydb/db_bdb.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
set(blockchain_db_headers)
|
set(blockchain_db_headers)
|
||||||
|
@ -36,6 +37,7 @@ set(blockchain_db_headers)
|
||||||
set(blockchain_db_private_headers
|
set(blockchain_db_private_headers
|
||||||
blockchain_db.h
|
blockchain_db.h
|
||||||
lmdb/db_lmdb.h
|
lmdb/db_lmdb.h
|
||||||
|
berkeleydb/db_bdb.h
|
||||||
)
|
)
|
||||||
|
|
||||||
bitmonero_private_headers(blockchain_db
|
bitmonero_private_headers(blockchain_db
|
||||||
|
@ -57,4 +59,5 @@ target_link_libraries(blockchain_db
|
||||||
${Boost_SYSTEM_LIBRARY}
|
${Boost_SYSTEM_LIBRARY}
|
||||||
${Boost_THREAD_LIBRARY}
|
${Boost_THREAD_LIBRARY}
|
||||||
${LMDB_LIBRARY}
|
${LMDB_LIBRARY}
|
||||||
|
${BDB_LIBRARY}
|
||||||
${EXTRA_LIBRARIES})
|
${EXTRA_LIBRARIES})
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
|
|
||||||
#include "blockchain_db/blockchain_db.h"
|
#include "blockchain_db/blockchain_db.h"
|
||||||
#include "blockchain_db/lmdb/db_lmdb.h"
|
#include "blockchain_db/lmdb/db_lmdb.h"
|
||||||
|
#include "blockchain_db/berkeleydb/db_bdb.h"
|
||||||
#include "cryptonote_core/cryptonote_format_utils.h"
|
#include "cryptonote_core/cryptonote_format_utils.h"
|
||||||
|
|
||||||
using namespace cryptonote;
|
using namespace cryptonote;
|
||||||
|
@ -209,7 +210,7 @@ protected:
|
||||||
|
|
||||||
using testing::Types;
|
using testing::Types;
|
||||||
|
|
||||||
typedef Types<BlockchainLMDB> implementations;
|
typedef Types<BlockchainLMDB, BlockchainBDB> implementations;
|
||||||
|
|
||||||
TYPED_TEST_CASE(BlockchainDBTest, implementations);
|
TYPED_TEST_CASE(BlockchainDBTest, implementations);
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,7 @@ add_executable(unit_tests
|
||||||
target_link_libraries(unit_tests
|
target_link_libraries(unit_tests
|
||||||
LINK_PRIVATE
|
LINK_PRIVATE
|
||||||
cryptonote_core
|
cryptonote_core
|
||||||
|
blockchain_db
|
||||||
rpc
|
rpc
|
||||||
wallet
|
wallet
|
||||||
${GTEST_MAIN_LIBRARIES}
|
${GTEST_MAIN_LIBRARIES}
|
||||||
|
|
Loading…
Reference in a new issue