aboutsummaryrefslogtreecommitdiff
path: root/ports/libbson
diff options
context:
space:
mode:
authorJack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>2020-05-02 03:43:06 +0800
committerGitHub <noreply@github.com>2020-05-01 12:43:06 -0700
commit26577fd0adf785cb09654b436a6cd4cca5bd42f7 (patch)
tree7a67401edcafefcfe8540855ed149af1226c71cf /ports/libbson
parentef50d66690df4712495039e68054269d705c14b4 (diff)
downloadvcpkg-26577fd0adf785cb09654b436a6cd4cca5bd42f7.tar.gz
vcpkg-26577fd0adf785cb09654b436a6cd4cca5bd42f7.zip
[libbson/mongo-c-driver] Update to 1.16.1 (#10010)
* [libbson/mongo-c-driver] Update to 1.16.1 * [libbson] Refix static build * [mongo-c-driver] Re-fix dependency libbson and dynamic build * [mongo-c-driver] Fix generate cmake file * [mongo-cxx-driver] Fix find libbson * [mongo-c-driver] Fix generate cmake file when building static * [mongo-cxx-driver] Fix dependency mongo-c-driver * update version info * [mongo-c-driver] Update patch * [mongo-c-driver] Re-generate patch. * [mongo-c-driver] Re-generate patch
Diffstat (limited to 'ports/libbson')
-rw-r--r--ports/libbson/CONTROL2
-rw-r--r--ports/libbson/fix-static-cmake.patch13
-rw-r--r--ports/libbson/fix-uwp.patch129
-rw-r--r--ports/libbson/portfile.cmake74
-rw-r--r--ports/libbson/usage6
5 files changed, 135 insertions, 89 deletions
diff --git a/ports/libbson/CONTROL b/ports/libbson/CONTROL
index ab99da6ba..f8bb6bb95 100644
--- a/ports/libbson/CONTROL
+++ b/ports/libbson/CONTROL
@@ -1,4 +1,4 @@
Source: libbson
-Version: 1.15.1-1
+Version: 1.16.1
Description: libbson is a library providing useful routines related to building, parsing, and iterating BSON documents.
Homepage: https://github.com/mongodb/libbson
diff --git a/ports/libbson/fix-static-cmake.patch b/ports/libbson/fix-static-cmake.patch
new file mode 100644
index 000000000..11e11dcba
--- /dev/null
+++ b/ports/libbson/fix-static-cmake.patch
@@ -0,0 +1,13 @@
+diff --git a/src/libbson/build/cmake/libbson-static-1.0-config.cmake.in b/src/libbson/build/cmake/libbson-static-1.0-config.cmake.in
+index 92933fe..d98ebd3 100644
+--- a/src/libbson/build/cmake/libbson-static-1.0-config.cmake.in
++++ b/src/libbson/build/cmake/libbson-static-1.0-config.cmake.in
+@@ -36,3 +36,7 @@ foreach (LIB @LIBBSON_LIBRARIES@)
+ endforeach ()
+
+ set (BSON_STATIC_DEFINITIONS BSON_STATIC)
++
++set (BSON_LIBRARIES ${BSON_STATIC_LIBRARIES})
++set (BSON_INCLUDE_DIRS ${BSON_STATIC_INCLUDE_DIRS})
++set (BSON_DEFINITIONS BSON_STATIC)
+\ No newline at end of file
diff --git a/ports/libbson/fix-uwp.patch b/ports/libbson/fix-uwp.patch
index 8a793aece..9342e81bd 100644
--- a/ports/libbson/fix-uwp.patch
+++ b/ports/libbson/fix-uwp.patch
@@ -1,6 +1,8 @@
+diff --git a/src/libbson/CMakeLists.txt b/src/libbson/CMakeLists.txt
+index 7c479d8..d383424 100644
--- a/src/libbson/CMakeLists.txt
+++ b/src/libbson/CMakeLists.txt
-@@ -217,6 +217,9 @@ set (HEADERS_FORWARDING
+@@ -226,6 +226,9 @@ set (HEADERS_FORWARDING
${PROJECT_SOURCE_DIR}/src/bson/forwarding/bson.h
)
@@ -9,8 +11,8 @@
+if (NOT ENABLE_STATIC MATCHES "ON|AUTO")
add_library (bson_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING})
set (CMAKE_CXX_VISIBILITY_PRESET hidden)
- set_target_properties (bson_shared PROPERTIES COMPILE_DEFINITIONS "BSON_COMPILATION;JSONSL_PARSE_NAN")
-@@ -258,16 +261,21 @@ if (WIN32)
+ target_compile_definitions (bson_shared PRIVATE BSON_COMPILATION JSONSL_PARSE_NAN)
+@@ -268,9 +271,13 @@ if (WIN32)
# must be handled specially since we can't resolve them
set (BSON_SYSTEM_LIBRARIES ${BSON_SYSTEM_LIBRARIES} ws2_32)
endif ()
@@ -19,12 +21,12 @@
if (ENABLE_STATIC MATCHES "ON|AUTO")
add_library (bson_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING})
+ 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 0.0.0)
- 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)
++ find_package(Threads REQUIRED)
+ target_compile_definitions (bson_static
+ PUBLIC BSON_STATIC
+ PRIVATE BSON_COMPILATION JSONSL_PARSE_NAN
+@@ -284,6 +291,7 @@ if (ENABLE_STATIC MATCHES "ON|AUTO")
if (RT_LIBRARY)
target_link_libraries (bson_static ${RT_LIBRARY})
endif ()
@@ -32,7 +34,7 @@
if (M_LIBRARY)
target_link_libraries (bson_static ${M_LIBRARY})
endif ()
-@@ -282,7 +290,7 @@ function (add_example bin src)
+@@ -298,7 +306,7 @@ function (add_example bin src)
add_executable (${bin} ${BSON_EXAMPLE_SOURCES})
# Link against the shared lib like normal apps
@@ -41,73 +43,106 @@
set (EXAMPLES ${EXAMPLES} ${bin})
endfunction ()
-@@ -304,6 +312,7 @@ set (BSON_HEADER_INSTALL_DIR
- "${CMAKE_INSTALL_INCLUDEDIR}/libbson-${BSON_API_VERSION}"
+@@ -322,7 +330,7 @@ set (BSON_HEADER_INSTALL_DIR
)
-+if (NOT ENABLE_STATIC MATCHES "ON|AUTO")
- install (
- TARGETS bson_shared ${EXAMPLES}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-@@ -311,6 +320,7 @@ install (
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- FRAMEWORK DESTINATION ${CMAKE_INSTALL_BINDIR}
- )
-+endif ()
if (ENABLE_STATIC MATCHES "ON|AUTO")
- install (
- TARGETS bson_static ${EXAMPLES}
+- set (TARGETS_TO_INSTALL bson_shared bson_static)
++ set (TARGETS_TO_INSTALL bson_static)
+ else ()
+ set (TARGETS_TO_INSTALL bson_shared)
+ endif ()
+@@ -337,6 +345,7 @@ install (
+ )
+
+ if (MSVC)
++ if (NOT ENABLE_STATIC MATCHES "ON|AUTO")
+ add_custom_command (
+ TARGET bson_shared
+ POST_BUILD
+@@ -348,6 +357,7 @@ if (MSVC)
+ FILES $<TARGET_LINKER_FILE_DIR:bson_shared>/lib$<TARGET_LINKER_FILE_NAME:bson_shared>
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
++ else()
+ if (TARGET bson_static)
+ add_custom_command (
+ TARGET bson_static
+@@ -361,6 +371,7 @@ if (MSVC)
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+ endif ()
++ endif()
+ endif ()
+
+ install (
+diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt
+index 0f9e50c..85eb429 100644
--- a/src/libmongoc/CMakeLists.txt
+++ b/src/libmongoc/CMakeLists.txt
-@@ -609,6 +609,7 @@ if (WIN32)
+@@ -694,6 +694,7 @@ if (WIN32)
set (LIBRARIES ${LIBRARIES} ws2_32)
endif ()
+if (NOT MONGOC_ENABLE_STATIC)
add_library (mongoc_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING})
set_target_properties (mongoc_shared PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden)
- target_link_libraries (mongoc_shared ${LIBRARIES} ${BSON_LIBRARIES})
-@@ -617,6 +618,7 @@ target_compile_definitions (mongoc_shared PUBLIC MONGOC_COMPILATION ${BSON_DEFIN
+ target_link_libraries (mongoc_shared PRIVATE ${LIBRARIES} PUBLIC ${BSON_LIBRARIES})
+@@ -704,6 +705,7 @@ target_compile_definitions (mongoc_shared PRIVATE MONGOC_COMPILATION)
set_target_properties (mongoc_shared PROPERTIES VERSION 0.0.0 SOVERSION 0)
- set_target_properties (mongoc_shared PROPERTIES OUTPUT_NAME "mongoc-${MONGOC_API_VERSION}" PREFIX "lib")
+ set_target_properties (mongoc_shared PROPERTIES OUTPUT_NAME "${MONGOC_OUTPUT_BASENAME}-${MONGOC_API_VERSION}")
+endif ()
if (MONGOC_ENABLE_STATIC)
add_library (mongoc_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING})
-@@ -639,7 +641,11 @@ if (ENABLE_APPLE_FRAMEWORK)
+@@ -731,7 +733,11 @@ if (ENABLE_APPLE_FRAMEWORK)
endif ()
add_executable (mongoc-stat ${PROJECT_SOURCE_DIR}/../../src/tools/mongoc-stat.c)
+if (MONGOC_ENABLE_STATIC)
+target_link_libraries (mongoc-stat mongoc_static)
+else ()
- target_link_libraries (mongoc-stat mongoc_shared)
+ target_link_libraries (mongoc-stat mongoc_shared ${LIBRARIES})
+endif ()
# mongoc-stat works if shared memory performance counters are enabled.
if (ENABLE_SHM_COUNTERS STREQUAL "ON")
-@@ -870,6 +876,7 @@ file (COPY ${PROJECT_SOURCE_DIR}/tests/json DESTINATION ${PROJECT_BINARY_DIR}/te
- file (COPY ${PROJECT_SOURCE_DIR}/tests/x509gen DESTINATION ${PROJECT_BINARY_DIR}/tests)
+@@ -977,7 +983,7 @@ file (COPY ${PROJECT_SOURCE_DIR}/tests/x509gen DESTINATION ${PROJECT_BINARY_DIR}
file (COPY ${PROJECT_SOURCE_DIR}/tests/release_files DESTINATION ${PROJECT_BINARY_DIR}/tests)
-+if (NOT MONGOC_ENABLE_STATIC)
- install (
- TARGETS mongoc_shared ${EXAMPLES}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-@@ -877,10 +884,11 @@ install (
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- FRAMEWORK DESTINATION ${CMAKE_INSTALL_BINDIR}
+ if (MONGOC_ENABLE_STATIC)
+- set (TARGETS_TO_INSTALL mongoc_shared mongoc_static)
++ set (TARGETS_TO_INSTALL mongoc_static)
+ else ()
+ set (TARGETS_TO_INSTALL mongoc_shared)
+ endif ()
+@@ -997,6 +1003,7 @@ install (
)
-+endif ()
- if (MONGOC_ENABLE_STATIC)
- install (
-- TARGETS mongoc_shared mongoc_static ${EXAMPLES}
-+ TARGETS mongoc_static ${EXAMPLES}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ if (MSVC)
++ if (NOT ENABLE_STATIC MATCHES "ON|AUTO")
+ add_custom_command (
+ TARGET mongoc_shared
+ POST_BUILD
+@@ -1008,6 +1015,7 @@ if (MSVC)
+ FILES $<TARGET_LINKER_FILE_DIR:mongoc_shared>/lib$<TARGET_LINKER_FILE_NAME:mongoc_shared>
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
++ else()
+ if (TARGET mongoc_static)
+ add_custom_command (
+ TARGET mongoc_static
+@@ -1021,6 +1029,7 @@ if (MSVC)
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+ endif ()
++ endif()
+ endif ()
+
+ install (
+diff --git a/src/libmongoc/src/mongoc/mongoc-gridfs-file.c b/src/libmongoc/src/mongoc/mongoc-gridfs-file.c
+index 0690b86..98721df 100644
--- a/src/libmongoc/src/mongoc/mongoc-gridfs-file.c
+++ b/src/libmongoc/src/mongoc/mongoc-gridfs-file.c
@@ -765,7 +765,7 @@ _mongoc_gridfs_file_refresh_page (mongoc_gridfs_file_t *file)
@@ -119,6 +154,8 @@
const char *key;
bson_iter_t iter;
int64_t existing_chunks;
+diff --git a/src/libmongoc/src/mongoc/mongoc-handshake.c b/src/libmongoc/src/mongoc/mongoc-handshake.c
+index 8374af2..5491595 100644
--- a/src/libmongoc/src/mongoc/mongoc-handshake.c
+++ b/src/libmongoc/src/mongoc/mongoc-handshake.c
@@ -286,7 +286,8 @@ _get_os_version (void)
@@ -131,6 +168,8 @@
OSVERSIONINFO osvi;
ZeroMemory (&osvi, sizeof (OSVERSIONINFO));
osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
+diff --git a/src/libmongoc/src/mongoc/mongoc-util.c b/src/libmongoc/src/mongoc/mongoc-util.c
+index 99939ff..3c25e19 100644
--- a/src/libmongoc/src/mongoc/mongoc-util.c
+++ b/src/libmongoc/src/mongoc/mongoc-util.c
@@ -84,7 +84,11 @@ _mongoc_hex_md5 (const char *input)
diff --git a/ports/libbson/portfile.cmake b/ports/libbson/portfile.cmake
index bec809e7e..f608be198 100644
--- a/ports/libbson/portfile.cmake
+++ b/ports/libbson/portfile.cmake
@@ -1,10 +1,13 @@
+# This port needs to be updated at the same time as mongo-c-driver
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mongodb/mongo-c-driver
- REF 541086adcf1eecf88ac09fda47d9a8ec1598015d # debian/1.15.1-1
- SHA512 a57438dfae9d0993ae04b7a76677f79331699898f21e7645db5edd2c91014f33b738a0af67b58234d1ee03aab2ae3b58c183bbd043fc2bde5cc1a4e111755b70
+ REF 99d422877c5b5ea52006c13ee3b48297251b2b2d # debian/1.16.1
+ SHA512 e2f129439ff3697981774e0de35586a6afe98838acfc52d8a115bcb298350f2779b886dc6b27130e78b3b81f9b0a85b2bc6bcef246f9685c05f6789747c4739d
HEAD_REF master
- PATCHES fix-uwp.patch
+ PATCHES
+ fix-uwp.patch
+ fix-static-cmake.patch
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
@@ -30,10 +33,15 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+set(PORT_POSTFIX "1.0")
+
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libbson-static-1.0)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libbson-static-${PORT_POSTFIX} TARGET_PATH share/bson-${PORT_POSTFIX})
else()
- vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libbson-1.0)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libbson-${PORT_POSTFIX} TARGET_PATH share/bson-${PORT_POSTFIX})
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver)
@@ -41,7 +49,7 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver)
# This rename is needed because the official examples expect to use #include <bson.h>
# See Microsoft/vcpkg#904
file(RENAME
- ${CURRENT_PACKAGES_DIR}/include/libbson-1.0
+ ${CURRENT_PACKAGES_DIR}/include/libbson-${PORT_POSTFIX}
${CURRENT_PACKAGES_DIR}/temp)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include)
file(RENAME ${CURRENT_PACKAGES_DIR}/temp ${CURRENT_PACKAGES_DIR}/include)
@@ -49,47 +57,27 @@ file(RENAME ${CURRENT_PACKAGES_DIR}/temp ${CURRENT_PACKAGES_DIR}/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/lib/libbson-static-1.0.a
- ${CURRENT_PACKAGES_DIR}/lib/libbson-1.0.a)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/debug/lib/libbson-static-1.0.a
- ${CURRENT_PACKAGES_DIR}/debug/lib/libbson-1.0.a)
- else()
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/lib/bson-static-1.0.lib
- ${CURRENT_PACKAGES_DIR}/lib/bson-1.0.lib)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/debug/lib/bson-static-1.0.lib
- ${CURRENT_PACKAGES_DIR}/debug/lib/bson-1.0.lib)
- endif()
-
# drop the __declspec(dllimport) when building static
- file(READ ${CURRENT_PACKAGES_DIR}/include/bson/bson-macros.h LIBBSON_MACROS_H)
- string(REPLACE "define BSON_API __declspec(dllimport)" "define BSON_API" LIBBSON_MACROS_H "${LIBBSON_MACROS_H}")
- file(WRITE ${CURRENT_PACKAGES_DIR}/include/bson/bson-macros.h "${LIBBSON_MACROS_H}")
+ vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/bson/bson-macros.h
+ "define BSON_API __declspec(dllimport)" "define BSON_API")
+
+ file(RENAME ${CURRENT_PACKAGES_DIR}/share/bson-${PORT_POSTFIX}/libbson-static-${PORT_POSTFIX}-config.cmake
+ ${CURRENT_PACKAGES_DIR}/share/bson-${PORT_POSTFIX}/bson-${PORT_POSTFIX}-config.cmake)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/share/bson-${PORT_POSTFIX}/libbson-static-${PORT_POSTFIX}-config-version.cmake
+ ${CURRENT_PACKAGES_DIR}/share/bson-${PORT_POSTFIX}/bson-${PORT_POSTFIX}-config-version.cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin)
-endif()
-
-configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/libbson/copyright COPYONLY)
-file(COPY ${SOURCE_PATH}/THIRD_PARTY_NOTICES DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson)
-
-if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- set(PORT_POSTFIX "static-1.0")
else()
- set(PORT_POSTFIX "1.0")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/share/bson-${PORT_POSTFIX}/libbson-${PORT_POSTFIX}-config.cmake
+ ${CURRENT_PACKAGES_DIR}/share/bson-${PORT_POSTFIX}/bson-${PORT_POSTFIX}-config.cmake)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/share/bson-${PORT_POSTFIX}/libbson-${PORT_POSTFIX}-config-version.cmake
+ ${CURRENT_PACKAGES_DIR}/share/bson-${PORT_POSTFIX}/bson-${PORT_POSTFIX}-config-version.cmake)
endif()
-# Create cmake files for _both_ find_package(libbson) and find_package(libbson-static-1.0)/find_package(libbson-1.0)
-file(READ ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-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-${PORT_POSTFIX}-config.cmake "${LIBBSON_CONFIG_CMAKE}")
-file(COPY ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson-${PORT_POSTFIX})
-file(COPY ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson-${PORT_POSTFIX})
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config.cmake ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config.cmake)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config-version.cmake)
+vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/bson-1.0/bson-1.0-config.cmake
+ "include/libbson-1.0" "include/")
-vcpkg_copy_pdbs()
+file(COPY ${SOURCE_PATH}/THIRD_PARTY_NOTICES DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson)
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+file(INSTALL ${CURRENT_PORT_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
diff --git a/ports/libbson/usage b/ports/libbson/usage
new file mode 100644
index 000000000..873243c81
--- /dev/null
+++ b/ports/libbson/usage
@@ -0,0 +1,6 @@
+The package libbson is compatible with built-in CMake targets:
+
+ find_package(libbson-1.0 CONFIG REQUIRED)
+ target_include_directories(main PRIVATE ${BSON_INCLUDE_DIRS})
+ target_link_libraries(main PRIVATE ${BSON_LIBRARIES})
+ target_compile_definitions(main PRIVATE ${BSON_DEFINITIONS})