[libbson] update to 1.9.0

This commit is contained in:
Ivy Snow 2018-01-01 15:20:33 +08:00
parent 544e99310d
commit ab884b5f0c
4 changed files with 96 additions and 37 deletions

View File

@ -1,3 +1,3 @@
Source: libbson
Version: 1.6.2-2
Version: 1.9.0
Description: libbson is a library providing useful routines related to building, parsing, and iterating BSON documents.

View File

@ -2,27 +2,63 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
index 553f13b..03dc546 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -194,6 +194,8 @@ set (HEADERS
@@ -230,6 +230,9 @@
${SOURCE_DIR}/src/bson/bson-writer.h
)
+add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+
+if (NOT BSON_ENABLE_STATIC)
add_library(bson_shared SHARED ${SOURCES} ${HEADERS})
add_library(bson_static STATIC ${SOURCES} ${HEADERS})
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set_target_properties(bson_shared PROPERTIES COMPILE_DEFINITIONS "BSON_COMPILATION;JSONSL_PARSE_NAN")
@@ -263,16 +266,21 @@
# must be handled specially since we can't resolve them
set(BSON_SYSTEM_LIBS ${BSON_SYSTEM_LIBS} ws2_32)
endif()
+endif()
@@ -272,8 +274,10 @@ if (ENABLE_TESTS)
DESTINATION ${PROJECT_BINARY_DIR}/tests)
endif () # ENABLE_TESTS
if (BSON_ENABLE_STATIC)
add_library(bson_static STATIC ${SOURCES} ${HEADERS})
+ set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set_target_properties(bson_static PROPERTIES COMPILE_DEFINITIONS "BSON_COMPILATION;BSON_STATIC;JSONSL_PARSE_NAN")
set_target_properties(bson_static PROPERTIES VERSION ${BSON_VERSION})
set_target_properties(bson_static PROPERTIES OUTPUT_NAME "bson-static-${BSON_API_VERSION}")
+ set(THREADS_PREFER_PTHREAD_FLAG 1)
+ find_package (Threads REQUIRED)
target_link_libraries(bson_static Threads::Threads)
if (RT_LIBRARY)
target_link_libraries (bson_static ${RT_LIBRARY})
endif()
+ find_library(M_LIBRARY m)
if (M_LIBRARY)
target_link_libraries (bson_static ${M_LIBRARY})
endif()
@@ -332,7 +340,7 @@
add_executable (${bin} ${BSON_EXAMPLE_SOURCES})
+set(INSTALL_TARGETS bson_shared bson_static CACHE INTERNAL "List of library targets to install")
+
# Link against the shared lib like normal apps
- target_link_libraries(${bin} bson_shared)
+ target_link_libraries(${bin} bson_shared bson_static)
set (EXAMPLES ${EXAMPLES} ${bin})
endfunction ()
@@ -349,6 +357,7 @@
endif () # ENABLE_EXAMPLES
set (BSON_HEADER_INSTALL_DIR "include/libbson-${BSON_API_VERSION}")
+if (NOT BSON_ENABLE_STATIC)
install(
- TARGETS bson_shared bson_static
+ TARGETS ${INSTALL_TARGETS}
TARGETS bson_shared ${EXAMPLES}
LIBRARY DESTINATION lib
@@ -355,6 +364,7 @@
ARCHIVE DESTINATION lib
RUNTIME DESTINATION bin
)
+endif ()
if (BSON_ENABLE_STATIC)
install(
TARGETS bson_static ${EXAMPLES}
diff --git a/src/bson/bson-compat.h b/src/bson/bson-compat.h
index 05fc614..e8e2214 100644
--- a/src/bson/bson-compat.h
@ -31,21 +67,21 @@ index 05fc614..e8e2214 100644
#ifdef BSON_OS_WIN32
-# if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0600)
+# if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0602)
# undef _WIN32_WINNT
# endif
# ifndef _WIN32_WINNT
-# define _WIN32_WINNT 0x0600
+# define _WIN32_WINNT 0x0602
# endif
# ifndef NOMINMAX
# define NOMINMAX
-#if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0600)
+#if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0602)
#undef _WIN32_WINNT
#endif
#ifndef _WIN32_WINNT
-#define _WIN32_WINNT 0x0600
+#define _WIN32_WINNT 0x0602
#endif
#ifndef NOMINMAX
#define NOMINMAX
diff --git a/src/bson/bson-iso8601.c b/src/bson/bson-iso8601.c
index 8beea90..cb4b531 100644
--- a/src/bson/bson-iso8601.c
+++ b/src/bson/bson-iso8601.c
@@ -117,8 +117,8 @@ _bson_iso8601_date_parse (const char *str,
@@ -115,8 +115,8 @@ _bson_iso8601_date_parse (const char *str,
const char *day_ptr;
const char *hour_ptr;
const char *min_ptr;

View File

@ -1,10 +1,10 @@
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libbson-1.6.2)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libbson-1.9.0)
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/mongodb/libbson/archive/1.6.2.tar.gz"
FILENAME "libbson-1.6.2.tar.gz"
SHA512 c5848984d5db5ab62e698a0185139b20834d83fd7befef72336997097f639ef13e81053531385e96c7ba1fe3f3fe4ded517f5b8ee58f0914c5c807a9cb43766d
URLS "https://github.com/mongodb/libbson/archive/1.9.0.tar.gz"
FILENAME "libbson-1.9.0.tar.gz"
SHA512 ced5e20a043096bbb2bd97f179c50fa105498fd089a54fcf7c0e3edda52030e7a6363ff1ab75c885649590a7d8846fa8adf880026cc059772cdfd87da23a244d
)
vcpkg_extract_source_archive(${ARCHIVE})
@ -14,9 +14,9 @@ vcpkg_apply_patches(
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
set(TARGET_TO_INSTALL bson_static)
set(ENABLE_STATIC ON)
else()
set(TARGET_TO_INSTALL bson_shared)
set(ENABLE_STATIC OFF)
endif()
vcpkg_configure_cmake(
@ -24,7 +24,7 @@ vcpkg_configure_cmake(
PREFER_NINJA
OPTIONS
-DENABLE_TESTS=OFF
-DINSTALL_TARGETS=${TARGET_TO_INSTALL}
-DENABLE_STATIC=${ENABLE_STATIC}
)
vcpkg_install_cmake()
@ -60,4 +60,27 @@ endif()
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson RENAME copyright)
file(COPY ${SOURCE_PATH}/THIRD_PARTY_NOTICES DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson)
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(READ ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-static-1.0/libbson-static-1.0-config.cmake LIBBSON_CONFIG_CMAKE)
string(REPLACE "/../../../" "/../../" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}")
string(REPLACE "/include/libbson-1.0" "/include" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}")
string(REPLACE "bson-static-1.0" "bson-1.0" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config.cmake "${LIBBSON_CONFIG_CMAKE}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/libbson-static-1.0/libbson-static-1.0-config.cmake "${LIBBSON_CONFIG_CMAKE}")
file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-static-1.0/libbson-static-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-static-1.0-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config-version.cmake)
file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-static-1.0/libbson-static-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson-static-1.0)
else()
file(READ ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-1.0/libbson-1.0-config.cmake LIBBSON_CONFIG_CMAKE)
string(REPLACE "/../../../" "/../../" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}")
string(REPLACE "/include/libbson-1.0" "/include" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config.cmake "${LIBBSON_CONFIG_CMAKE}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/libbson-1.0/libbson-1.0-config.cmake "${LIBBSON_CONFIG_CMAKE}")
file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-1.0/libbson-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-1.0-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config-version.cmake)
file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-1.0/libbson-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson-1.0)
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake ${CURRENT_PACKAGES_DIR}/lib/cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
vcpkg_copy_pdbs()

View File

@ -2,12 +2,12 @@ diff --git a/bson-macros.h b/bson-macros.h
index 909bf6c..0a1f612 100644
--- a/bson-macros.h
+++ b/bson-macros.h
@@ -69,7 +69,7 @@
# ifdef BSON_COMPILATION
# define BSON_API __declspec(dllexport)
# else
-# define BSON_API __declspec(dllimport)
+# define BSON_API
# endif
#elif defined(__GNUC__)
# define BSON_API __attribute__ ((visibility ("default")))
@@ -87,7 +87,7 @@
#elif defined(BSON_COMPILATION)
#define BSON_API __declspec(dllexport)
#else
-#define BSON_API __declspec(dllimport)
+#define BSON_API
#endif
#define BSON_CALL __cdecl