summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjacobkeeler <jacob.keeler@livioradio.com>2019-05-29 10:27:38 -0400
committerjacobkeeler <jacob.keeler@livioradio.com>2019-05-29 10:27:38 -0400
commit5f2d1dd068cd652de1c190452f8917308ee11b3a (patch)
tree790ee28edf505c34c0cf4a2b720ee520d8fbaf32
parent471562ac937459f05c5017842577b3b8dc584243 (diff)
downloadsdl_core-5f2d1dd068cd652de1c190452f8917308ee11b3a.tar.gz
Add version check for BSON libraryfix/check_bson_version
-rw-r--r--src/3rd_party/CMakeLists.txt17
-rw-r--r--src/3rd_party/FindBSON.cmake26
2 files changed, 8 insertions, 35 deletions
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)