From 5f2d1dd068cd652de1c190452f8917308ee11b3a Mon Sep 17 00:00:00 2001 From: jacobkeeler Date: Wed, 29 May 2019 10:27:38 -0400 Subject: Add version check for BSON library --- src/3rd_party/CMakeLists.txt | 17 ++++++++--------- src/3rd_party/FindBSON.cmake | 26 -------------------------- 2 files changed, 8 insertions(+), 35 deletions(-) delete mode 100644 src/3rd_party/FindBSON.cmake diff --git a/src/3rd_party/CMakeLists.txt b/src/3rd_party/CMakeLists.txt index 906c0c94cc..951c437e59 100644 --- a/src/3rd_party/CMakeLists.txt +++ b/src/3rd_party/CMakeLists.txt @@ -169,12 +169,13 @@ if(ENABLE_LOG) endif() set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}") -set(CMAKE_SOURCE_PREFIX ${CMAKE_SOURCE_PREFIX} "${3RD_PARTY_INSTALL_PREFIX}") -find_package (BSON) -message (STATUS "bson installed in " ${BSON_LIBS_DIRECTORY} " , " ${BSON_INCLUDE_DIRECTORY}) -message (STATUS "emhashmap installed in " ${EMHASHMAP_LIBS_DIRECTORY} " , " ${EMHASHMAP_INCLUDE_DIRECTORY}) +set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "${3RD_PARTY_INSTALL_PREFIX}/etc") +set(ENV{PKG_CONFIG_PATH} $ENV{CMAKE_PREFIX_PATH} "${3RD_PARTY_INSTALL_PREFIX}/etc") +find_package(PkgConfig) +pkg_check_modules(BSON libbson) +message (STATUS "bson installed in " ${BSON_LIBDIR} ", " ${BSON_INCLUDEDIR}) -if (${BSON_LIB} MATCHES "BSON_LIB-NOTFOUND") +if ((NOT "${BSON_FOUND}") OR ("${BSON_VERSION}" VERSION_LESS "1.2.0")) message (STATUS "Building bson required") set(BSON_LIB_SOURCE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bson_c_lib CACHE INTERNAL "Sources of bson library" FORCE) set(BSON_LIBS_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX}/lib CACHE INTERNAL "Installation path of bson libraries" FORCE) @@ -199,10 +200,8 @@ if (${BSON_LIB} MATCHES "BSON_LIB-NOTFOUND") INSTALL_COMMAND ${BSON_INSTALL_COMMAND} UPDATE_COMMAND git pull) else() - get_filename_component(BSON_LIBS_DIRECTORY ${BSON_LIB} DIRECTORY) - get_filename_component(EMHASHMAP_LIBS_DIRECTORY ${EMHASHMAP_LIB} DIRECTORY) - set(BSON_LIBS_DIRECTORY ${BSON_LIBS_DIRECTORY} CACHE INTERNAL "Installation path of bson libraries" FORCE) - set(EMHASHMAP_LIBS_DIRECTORY ${BSON_LIBS_DIRECTORY} CACHE INTERNAL "Installation path of emashmap libraries" FORCE) + set(BSON_LIBS_DIRECTORY ${BSON_LIBDIR} CACHE INTERNAL "Installation path of bson libraries" FORCE) + set(EMHASHMAP_LIBS_DIRECTORY ${BSON_LIBDIR} CACHE INTERNAL "Installation path of emashmap libraries" FORCE) add_custom_target( libbson DEPENDS ${BSON_LIBS_DIRECTORY} diff --git a/src/3rd_party/FindBSON.cmake b/src/3rd_party/FindBSON.cmake deleted file mode 100644 index 91d53624f1..0000000000 --- a/src/3rd_party/FindBSON.cmake +++ /dev/null @@ -1,26 +0,0 @@ -set(INCLUDE_PATH "${CMAKE_SOURCE_PREFIX}/include") -set(LIB_PATH "${CMAKE_SOURCE_PREFIX}/lib") - -find_path(BSON_INCLUDE_DIRECTORY bson_object.h bson_array.h bson_util.h - PATHS "${INCLUDE_PATH}") - -find_library(BSON_LIB - NAMES bson - PATHS ${LIB_PATH}) - -find_path(EMHASHMAP_INCLUDE_DIRECTORY emhashmap.h - PATHS ${INCLUDE_PATH} - PATH_SUFFIXES emhashmap) - -find_library(EMHASHMAP_LIB - NAMES emhashmap - PATHS ${LIB_PATH}) - - -include(FindPackageHandleStandardArgs) - -find_package_handle_standard_args(BSON DEFAULT_MSG BSON_INCLUDE_DIRECTORY BSON_LIB - EMHASHMAP_INCLUDE_DIRECTORY EMHASHMAP_LIB) - -mark_as_advanced(BSON_INCLUDE_DIRECTORY BSON_LIB) -mark_as_advanced(EMHASHMAP_INCLUDE_DIRECTORY EMHASHMAP_LIB) -- cgit v1.2.1