Changeset View
Changeset View
Standalone View
Standalone View
cmake/modules/FindBerkeleyDB.cmake
Show First 20 Lines • Show All 41 Lines • ▼ Show 20 Lines | foreach(_separator2 IN LISTS SEPARATORS) | ||||
list(APPEND ${VARIANTS} "${LIB}${_separator1}${MAJOR}${_separator2}${MINOR}") | list(APPEND ${VARIANTS} "${LIB}${_separator1}${MAJOR}${_separator2}${MINOR}") | ||||
endforeach() | endforeach() | ||||
endforeach() | endforeach() | ||||
set(${VARIANTS} ${${VARIANTS}} PARENT_SCOPE) | set(${VARIANTS} ${${VARIANTS}} PARENT_SCOPE) | ||||
endfunction() | endfunction() | ||||
include(BrewHelper) | include(BrewHelper) | ||||
find_brew_prefix(BREW_HINT berkeley-db) | find_brew_prefix(_BerkeleyDB_BREW_HINT berkeley-db) | ||||
# If the include directory is user supplied, skip the search | # If the include directory is user supplied, skip the search | ||||
if(NOT BerkeleyDB_INCLUDE_DIR) | if(NOT BerkeleyDB_INCLUDE_DIR) | ||||
# Berkeley DB 5 including latest minor release. | # Berkeley DB 5 including latest minor release. | ||||
generate_versions_variants(_BerkeleyDB_PATH_SUFFIXES_5_3 db 5 3) | generate_versions_variants(_BerkeleyDB_PATH_SUFFIXES_5_3 db 5 3) | ||||
# Berkeley DB 6 including latest minor release. | # Berkeley DB 6 including latest minor release. | ||||
generate_versions_variants(_BerkeleyDB_PATH_SUFFIXES_6_2 db 6 2) | generate_versions_variants(_BerkeleyDB_PATH_SUFFIXES_6_2 db 6 2) | ||||
# Berkeley DB 18 including latest minor release (current). | # Berkeley DB 18 including latest minor release (current). | ||||
generate_versions_variants(_BerkeleyDB_PATH_SUFFIXES_18_1 db 18 1) | generate_versions_variants(_BerkeleyDB_PATH_SUFFIXES_18_1 db 18 1) | ||||
set(_BerkeleyDB_PATH_SUFFIXES | set(_BerkeleyDB_PATH_SUFFIXES | ||||
include | |||||
${_BerkeleyDB_PATH_SUFFIXES_5_3} | ${_BerkeleyDB_PATH_SUFFIXES_5_3} | ||||
${_BerkeleyDB_PATH_SUFFIXES_6_2} | ${_BerkeleyDB_PATH_SUFFIXES_6_2} | ||||
${_BerkeleyDB_PATH_SUFFIXES_18_1} | ${_BerkeleyDB_PATH_SUFFIXES_18_1} | ||||
) | ) | ||||
list(REMOVE_DUPLICATES _BerkeleyDB_PATH_SUFFIXES) | list(REMOVE_DUPLICATES _BerkeleyDB_PATH_SUFFIXES) | ||||
# Try to find the db.h header. | # Try to find the db.h header. | ||||
# If the header is not found the user can supply the correct path by passing | # If the header is not found the user can supply the correct path by passing | ||||
# the `BerkeleyDB_ROOT` variable to cmake. | # the `BerkeleyDB_ROOT` variable to cmake. | ||||
find_path(BerkeleyDB_INCLUDE_DIR | find_path(BerkeleyDB_INCLUDE_DIR | ||||
NAMES db.h | NAMES db.h | ||||
HINTS ${BREW_HINT} | HINTS ${_BerkeleyDB_BREW_HINT} | ||||
PATH_SUFFIXES ${_BerkeleyDB_PATH_SUFFIXES} | PATH_SUFFIXES ${_BerkeleyDB_PATH_SUFFIXES} | ||||
) | ) | ||||
endif() | endif() | ||||
# There is a single common include directory. | # There is a single common include directory. | ||||
# Set the BerkeleyDB_INCLUDE_DIRS variable which is the expected standard output | # Set the BerkeleyDB_INCLUDE_DIRS variable which is the expected standard output | ||||
# variable name for the include directories. | # variable name for the include directories. | ||||
set(BerkeleyDB_INCLUDE_DIRS "${BerkeleyDB_INCLUDE_DIR}") | set(BerkeleyDB_INCLUDE_DIRS "${BerkeleyDB_INCLUDE_DIR}") | ||||
▲ Show 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | generate_versions_variants( | ||||
_db_variants | _db_variants | ||||
db | db | ||||
"${BerkeleyDB_VERSION_MAJOR}" | "${BerkeleyDB_VERSION_MAJOR}" | ||||
"${BerkeleyDB_VERSION_MINOR}" | "${BerkeleyDB_VERSION_MINOR}" | ||||
) | ) | ||||
find_component(BerkeleyDB C | find_component(BerkeleyDB C | ||||
NAMES ${_db_variants} | NAMES ${_db_variants} | ||||
HINTS ${BREW_HINT} | HINTS ${_BerkeleyDB_BREW_HINT} | ||||
PATH_SUFFIXES ${_db_variants} | PATH_SUFFIXES ${_db_variants} | ||||
INCLUDE_DIRS ${BerkeleyDB_INCLUDE_DIRS} | INCLUDE_DIRS ${BerkeleyDB_INCLUDE_DIRS} | ||||
) | ) | ||||
generate_versions_variants( | generate_versions_variants( | ||||
_db_cxx_variants | _db_cxx_variants | ||||
db_cxx | db_cxx | ||||
"${BerkeleyDB_VERSION_MAJOR}" | "${BerkeleyDB_VERSION_MAJOR}" | ||||
"${BerkeleyDB_VERSION_MINOR}" | "${BerkeleyDB_VERSION_MINOR}" | ||||
) | ) | ||||
find_component(BerkeleyDB CXX | find_component(BerkeleyDB CXX | ||||
NAMES ${_db_cxx_variants} | NAMES ${_db_cxx_variants} | ||||
HINTS ${BREW_HINT} | HINTS ${_BerkeleyDB_BREW_HINT} | ||||
PATH_SUFFIXES ${_db_variants} | PATH_SUFFIXES ${_db_variants} | ||||
INCLUDE_DIRS ${BerkeleyDB_INCLUDE_DIRS} | INCLUDE_DIRS ${BerkeleyDB_INCLUDE_DIRS} | ||||
) | ) | ||||
endif() | endif() | ||||
include(FindPackageHandleStandardArgs) | include(FindPackageHandleStandardArgs) | ||||
find_package_handle_standard_args(BerkeleyDB | find_package_handle_standard_args(BerkeleyDB | ||||
REQUIRED_VARS | REQUIRED_VARS | ||||
BerkeleyDB_INCLUDE_DIR | BerkeleyDB_INCLUDE_DIR | ||||
VERSION_VAR BerkeleyDB_VERSION | VERSION_VAR BerkeleyDB_VERSION | ||||
HANDLE_COMPONENTS | HANDLE_COMPONENTS | ||||
) | ) |