diff --git a/cmake/modules/FindBerkeleyDB.cmake b/cmake/modules/FindBerkeleyDB.cmake --- a/cmake/modules/FindBerkeleyDB.cmake +++ b/cmake/modules/FindBerkeleyDB.cmake @@ -1,23 +1,22 @@ -# Try to find the GMP librairies +# Try to find the BerkeleyDB librairies # BDB_FOUND - system has Berkeley DB lib # BDB_INCLUDE_DIR - the Berkeley DB include directory # BDB_LIBRARY - Library needed to use Berkeley DB +# BDBXX_INCLUDE_DIR - the Berkeley DB include directory for C++ # BDBXX_LIBRARY - Library needed to use Berkeley DB C++ API -if(BDB_INCLUDE_DIR AND BDB_LIBRARY) - # Already in cache, be silent - set(BDB_FIND_QUIETLY TRUE) -endif() - find_path(BDB_INCLUDE_DIR NAMES db.h) find_library(BDB_LIBRARY NAMES db libdb) + +find_path(BDBXX_INCLUDE_DIR NAMES db_cxx.h) find_library(BDBXX_LIBRARY NAMES db_cxx libdb_cxx) -MESSAGE(STATUS "Berkeley DB libs: " ${BDB_LIBRARY} " " ${BDBXX_LIBRARY}) + +MESSAGE(STATUS "BerkeleyDB libs: " ${BDB_LIBRARY} " " ${BDBXX_LIBRARY}) include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS("Berkeley DB" DEFAULT_MSG BDB_INCLUDE_DIR BDB_LIBRARY BDBXX_LIBRARY) +find_package_handle_standard_args(BerkeleyDB DEFAULT_MSG BDB_INCLUDE_DIR BDB_LIBRARY BDBXX_INCLUDE_DIR BDBXX_LIBRARY) + +mark_as_advanced(BDB_INCLUDE_DIR BDB_LIBRARY BDBXX_INCLUDE_DIR BDBXX_LIBRARY) -mark_as_advanced(BDB_INCLUDE_DIR BDB_LIBRARY) -if(BDB_INCLUDE_DIR AND BDB_LIBRARY) - set(BDB_FOUND TRUE) -endif() +set(BerkeleyDB_LIBRARIES ${BDB_LIBRARY} ${BDBXX_LIBRARY}) +set(BerkeleyDB_INCLUDE_DIRS ${BDB_INCLUDE_DIR} ${BDBXX_INCLUDE_DIR}) diff --git a/src/wallet/CMakeLists.txt b/src/wallet/CMakeLists.txt --- a/src/wallet/CMakeLists.txt +++ b/src/wallet/CMakeLists.txt @@ -16,8 +16,8 @@ # Add Berkeley DB dependency find_package(BerkeleyDB REQUIRED) -target_include_directories(wallet PRIVATE ${BDB_INCLUDE_DIR}) -target_link_libraries(wallet ${BDBXX_LIBRARY} ${BDB_LIBRARY}) +target_include_directories(wallet PRIVATE ${BDBXX_INCLUDE_DIR}) +target_link_libraries(wallet ${BDBXX_LIBRARY}) # Add event dependency. This is only required for evhttp_uridecode # in rpcwallet.cpp so it may be worth considering using an alternative.