aboutsummaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorThomas Winget <tewinget@gmail.com>2015-03-16 03:12:54 -0400
committerThomas Winget <tewinget@gmail.com>2015-03-16 04:17:53 -0400
commitcade0da8f1e932a17886aa9893a580fa3e3289c7 (patch)
treebbb2c171f01b37e227754d648e29c93f15bb344b /external
parentBerkeleyDB BlockchainDB impl copy/paste/modify (diff)
downloadmonero-cade0da8f1e932a17886aa9893a580fa3e3289c7.tar.xz
CMake wiring, minor cleanup, minor test addition
Make Cmake things aware of BerkeleyDB and BlockchainBDB Make the BlockchainDB unit tests aware of BlockchainBDB
Diffstat (limited to 'external')
-rw-r--r--external/CMakeLists.txt5
-rw-r--r--external/db_drivers/CMakeLists.txt24
2 files changed, 28 insertions, 1 deletions
diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
index f0d363e35..527c5b5a9 100644
--- a/external/CMakeLists.txt
+++ b/external/CMakeLists.txt
@@ -103,3 +103,8 @@ set(LMDB_STATIC ${LMDB_STATIC} PARENT_SCOPE)
set(LMDB_INCLUDE ${LMDB_INCLUDE} PARENT_SCOPE)
set(LMDB_LIBRARY ${LMDB_LIBRARY} 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)
diff --git a/external/db_drivers/CMakeLists.txt b/external/db_drivers/CMakeLists.txt
index 5993ed3a2..0498eaaf2 100644
--- a/external/db_drivers/CMakeLists.txt
+++ b/external/db_drivers/CMakeLists.txt
@@ -44,6 +44,28 @@ else()
set(LMDB_LIBRARY ${LMDB_LIBRARIES} PARENT_SCOPE)
set(LMDB_LIBRARY_DIRS "" PARENT_SCOPE)
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()