aboutsummaryrefslogtreecommitdiff
path: root/external/db_drivers/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'external/db_drivers/CMakeLists.txt')
-rw-r--r--external/db_drivers/CMakeLists.txt24
1 files changed, 23 insertions, 1 deletions
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()