diff options
| author | Billy O'Neal <bion@microsoft.com> | 2021-09-08 11:56:06 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-08 11:56:06 -0700 |
| commit | cd54580d1fe7c60cdf6e086a7d61c013648f1eff (patch) | |
| tree | b63ac4c9725ae877e49dd8f2c1a03cbee48e9a21 | |
| parent | bcf551b980380fe7f84fa302ad7ef3c184f9bf4f (diff) | |
| download | vcpkg-cd54580d1fe7c60cdf6e086a7d61c013648f1eff.tar.gz vcpkg-cd54580d1fe7c60cdf6e086a7d61c013648f1eff.zip | |
[libbson, mongo-c-driver] Convert to vcpkg.json. (#20039)
* Fixes source writes rather than using DISABLE_PARALLEL_CONFIGURE
* Fixes to use modern vcpkg helpers.
* Fixes to install to the correct include path rather than moving the resulting includes after the fact.
* Remove do-nothign renames.
* Fixes to make static cmake configs find the correct bits.
| -rw-r--r-- | ports/libbson/CONTROL | 5 | ||||
| -rw-r--r-- | ports/libbson/disable-source-write.patch | 15 | ||||
| -rw-r--r-- | ports/libbson/fix-include-directory.patch | 13 | ||||
| -rw-r--r-- | ports/libbson/fix-static-cmake-2.patch | 13 | ||||
| -rw-r--r-- | ports/libbson/portfile.cmake | 78 | ||||
| -rw-r--r-- | ports/libbson/vcpkg.json | 17 | ||||
| -rw-r--r-- | ports/mongo-c-driver/CONTROL | 14 | ||||
| -rw-r--r-- | ports/mongo-c-driver/disable-source-write.patch | 15 | ||||
| -rw-r--r-- | ports/mongo-c-driver/fix-include-directory.patch | 13 | ||||
| -rw-r--r-- | ports/mongo-c-driver/fix-static-cmake.patch | 13 | ||||
| -rw-r--r-- | ports/mongo-c-driver/portfile.cmake | 90 | ||||
| -rw-r--r-- | ports/mongo-c-driver/usage | 12 | ||||
| -rw-r--r-- | ports/mongo-c-driver/vcpkg.json | 37 | ||||
| -rw-r--r-- | versions/baseline.json | 4 | ||||
| -rw-r--r-- | versions/l-/libbson.json | 5 | ||||
| -rw-r--r-- | versions/m-/mongo-c-driver.json | 5 |
16 files changed, 211 insertions, 138 deletions
diff --git a/ports/libbson/CONTROL b/ports/libbson/CONTROL deleted file mode 100644 index c74336ee5..000000000 --- a/ports/libbson/CONTROL +++ /dev/null @@ -1,5 +0,0 @@ -Source: libbson -Version: 1.16.1 -Port-Version: 2 -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/disable-source-write.patch b/ports/libbson/disable-source-write.patch new file mode 100644 index 000000000..ff2f9cab5 --- /dev/null +++ b/ports/libbson/disable-source-write.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7ff8bbf..32c2e00 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -114,8 +114,8 @@ if (BUILD_VERSION STREQUAL "0.0.0")
+ file (WRITE ${PROJECT_SOURCE_DIR}/VERSION_CURRENT ${BUILD_VERSION})
+ endif ()
+ else ()
+- message ("storing BUILD_VERSION ${BUILD_VERSION} in file VERSION_CURRENT for later use")
+- file (WRITE ${PROJECT_SOURCE_DIR}/VERSION_CURRENT ${BUILD_VERSION})
++ #message ("storing BUILD_VERSION ${BUILD_VERSION} in file VERSION_CURRENT for later use")
++ #file (WRITE ${PROJECT_SOURCE_DIR}/VERSION_CURRENT ${BUILD_VERSION})
+ endif ()
+
+ include (LoadVersion)
diff --git a/ports/libbson/fix-include-directory.patch b/ports/libbson/fix-include-directory.patch new file mode 100644 index 000000000..beead37bd --- /dev/null +++ b/ports/libbson/fix-include-directory.patch @@ -0,0 +1,13 @@ +diff --git a/src/libbson/CMakeLists.txt b/src/libbson/CMakeLists.txt
+index d383424..cc633f6 100644
+--- a/src/libbson/CMakeLists.txt
++++ b/src/libbson/CMakeLists.txt
+@@ -326,7 +326,7 @@ if (ENABLE_EXAMPLES)
+ endif () # ENABLE_EXAMPLES
+
+ set (BSON_HEADER_INSTALL_DIR
+- "${CMAKE_INSTALL_INCLUDEDIR}/libbson-${BSON_API_VERSION}"
++ "${CMAKE_INSTALL_INCLUDEDIR}"
+ )
+
+ if (ENABLE_STATIC MATCHES "ON|AUTO")
diff --git a/ports/libbson/fix-static-cmake-2.patch b/ports/libbson/fix-static-cmake-2.patch new file mode 100644 index 000000000..1a694a1bf --- /dev/null +++ b/ports/libbson/fix-static-cmake-2.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..90eb16f 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
+@@ -27,7 +27,7 @@ set_and_check (BSON_STATIC_INCLUDE_DIRS "@PACKAGE_INCLUDE_INSTALL_DIRS@")
+ # directory and the base name, but not the suffix, so we use CMake's
+ # find_library () to pick that up. Users can override this by configuring
+ # BSON_STATIC_LIBRARY themselves.
+-find_library (BSON_STATIC_LIBRARY bson-static-1.0 PATHS "@PACKAGE_LIBRARY_INSTALL_DIRS@" NO_DEFAULT_PATH)
++find_library (BSON_STATIC_LIBRARY bson-1.0 PATHS "@PACKAGE_LIBRARY_INSTALL_DIRS@" NO_DEFAULT_PATH)
+
+ set (BSON_STATIC_LIBRARIES ${BSON_STATIC_LIBRARY})
+
diff --git a/ports/libbson/portfile.cmake b/ports/libbson/portfile.cmake index 7bd0bf8f7..eb534a260 100644 --- a/ports/libbson/portfile.cmake +++ b/ports/libbson/portfile.cmake @@ -8,24 +8,19 @@ vcpkg_from_github( PATCHES fix-uwp.patch fix-static-cmake.patch + disable-source-write.patch + fix-include-directory.patch + fix-static-cmake-2.patch ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(ENABLE_STATIC ON) -else() - set(ENABLE_STATIC OFF) -endif() - -file(READ ${CMAKE_CURRENT_LIST_DIR}/CONTROL _contents) -string(REGEX MATCH "\nVersion:[ ]*[^ \n]+" _contents "${_contents}") -string(REGEX REPLACE ".+Version:[ ]*([\\.0-9]+).*" "\\1" BUILD_VERSION "${_contents}") +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC) -file(WRITE "${BUILD_VERSION}" ${SOURCE_PATH}/VERSION_CURRENT) +file(READ "${CMAKE_CURRENT_LIST_DIR}/vcpkg.json" _contents) +string(JSON BUILD_VERSION GET "${_contents}" version) +file(WRITE "${SOURCE_PATH}/VERSION_CURRENT" "${BUILD_VERSION}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - DISABLE_PARALLEL_CONFIGURE +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DENABLE_MONGOC=OFF -DENABLE_BSON=ON @@ -34,55 +29,40 @@ vcpkg_configure_cmake( -DENABLE_STATIC=${ENABLE_STATIC} -DBUILD_VERSION=${BUILD_VERSION} -DCMAKE_DISABLE_FIND_PACKAGE_PythonInterp=ON + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_PythonInterp ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -set(PORT_POSTFIX "1.0") - if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libbson-static-${PORT_POSTFIX} TARGET_PATH share/libbson-${PORT_POSTFIX}) + vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/libbson-static-1.0" PACKAGE_NAME "libbson-1.0") else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libbson-${PORT_POSTFIX} TARGET_PATH share/libbson-${PORT_POSTFIX}) + vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/libbson-1.0" PACKAGE_NAME "libbson-1.0") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -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-${PORT_POSTFIX} - ${CURRENT_PACKAGES_DIR}/temp) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include) -file(RENAME ${CURRENT_PACKAGES_DIR}/temp ${CURRENT_PACKAGES_DIR}/include) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/mongo-c-driver") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if (VCPKG_LIBRARY_LINKAGE STREQUAL static) # drop the __declspec(dllimport) when building static - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/bson/bson-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/libbson-${PORT_POSTFIX}/libbson-static-${PORT_POSTFIX}-config.cmake - ${CURRENT_PACKAGES_DIR}/share/libbson-${PORT_POSTFIX}/libbson-${PORT_POSTFIX}-config.cmake) - file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbson-${PORT_POSTFIX}/libbson-static-${PORT_POSTFIX}-config-version.cmake - ${CURRENT_PACKAGES_DIR}/share/libbson-${PORT_POSTFIX}/libbson-${PORT_POSTFIX}-config-version.cmake) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin) -else() - file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbson-${PORT_POSTFIX}/libbson-${PORT_POSTFIX}-config.cmake - ${CURRENT_PACKAGES_DIR}/share/libbson-${PORT_POSTFIX}/libbson-${PORT_POSTFIX}-config.cmake) - file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbson-${PORT_POSTFIX}/libbson-${PORT_POSTFIX}-config-version.cmake - ${CURRENT_PACKAGES_DIR}/share/libbson-${PORT_POSTFIX}/libbson-${PORT_POSTFIX}-config-version.cmake) -endif() + file(RENAME + "${CURRENT_PACKAGES_DIR}/share/libbson-1.0/libbson-static-1.0-config.cmake" + "${CURRENT_PACKAGES_DIR}/share/libbson-1.0/libbson-1.0-config.cmake") + file(RENAME + "${CURRENT_PACKAGES_DIR}/share/libbson-1.0/libbson-static-1.0-config-version.cmake" + "${CURRENT_PACKAGES_DIR}/share/libbson-1.0/libbson-1.0-config-version.cmake") -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/libbson-1.0/libbson-1.0-config.cmake - "include/libbson-1.0" "include/") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/bin") +endif() -file(COPY ${SOURCE_PATH}/THIRD_PARTY_NOTICES DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson) +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}) +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/vcpkg.json b/ports/libbson/vcpkg.json new file mode 100644 index 000000000..c9ab96124 --- /dev/null +++ b/ports/libbson/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "libbson", + "version": "1.16.1", + "port-version": 3, + "description": "libbson is a library providing useful routines related to building, parsing, and iterating BSON documents.", + "homepage": "https://github.com/mongodb/libbson", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/mongo-c-driver/CONTROL b/ports/mongo-c-driver/CONTROL deleted file mode 100644 index 54a225a02..000000000 --- a/ports/mongo-c-driver/CONTROL +++ /dev/null @@ -1,14 +0,0 @@ -Source: mongo-c-driver -Version: 1.16.1 -Port-Version: 5 -Build-Depends: libbson, openssl (!windows), zlib -Description: Client library written in C for MongoDB. -Homepage: https://github.com/mongodb/mongo-c-driver - -Feature: snappy -Description: Enables snappy compressor support -Build-Depends: snappy - -Feature: icu -Description: Enable ICU support, necessary to use non-ASCII usernames or passwords -Build-Depends: icu diff --git a/ports/mongo-c-driver/disable-source-write.patch b/ports/mongo-c-driver/disable-source-write.patch new file mode 100644 index 000000000..ff2f9cab5 --- /dev/null +++ b/ports/mongo-c-driver/disable-source-write.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7ff8bbf..32c2e00 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -114,8 +114,8 @@ if (BUILD_VERSION STREQUAL "0.0.0")
+ file (WRITE ${PROJECT_SOURCE_DIR}/VERSION_CURRENT ${BUILD_VERSION})
+ endif ()
+ else ()
+- message ("storing BUILD_VERSION ${BUILD_VERSION} in file VERSION_CURRENT for later use")
+- file (WRITE ${PROJECT_SOURCE_DIR}/VERSION_CURRENT ${BUILD_VERSION})
++ #message ("storing BUILD_VERSION ${BUILD_VERSION} in file VERSION_CURRENT for later use")
++ #file (WRITE ${PROJECT_SOURCE_DIR}/VERSION_CURRENT ${BUILD_VERSION})
+ endif ()
+
+ include (LoadVersion)
diff --git a/ports/mongo-c-driver/fix-include-directory.patch b/ports/mongo-c-driver/fix-include-directory.patch new file mode 100644 index 000000000..8fdf45334 --- /dev/null +++ b/ports/mongo-c-driver/fix-include-directory.patch @@ -0,0 +1,13 @@ +diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt
+index a5767ac..3656efa 100644
+--- a/src/libmongoc/CMakeLists.txt
++++ b/src/libmongoc/CMakeLists.txt
+@@ -998,7 +998,7 @@ else ()
+ endif ()
+
+ set (MONGOC_HEADER_INSTALL_DIR
+- "${CMAKE_INSTALL_INCLUDEDIR}/libmongoc-${MONGOC_API_VERSION}"
++ "${CMAKE_INSTALL_INCLUDEDIR}"
+ )
+
+ install (
diff --git a/ports/mongo-c-driver/fix-static-cmake.patch b/ports/mongo-c-driver/fix-static-cmake.patch new file mode 100644 index 000000000..bb3e018e7 --- /dev/null +++ b/ports/mongo-c-driver/fix-static-cmake.patch @@ -0,0 +1,13 @@ +diff --git a/src/libmongoc/build/cmake/libmongoc-static-1.0-config.cmake.in b/src/libmongoc/build/cmake/libmongoc-static-1.0-config.cmake.in
+index c23da9f..05c03e8 100644
+--- a/src/libmongoc/build/cmake/libmongoc-static-1.0-config.cmake.in
++++ b/src/libmongoc/build/cmake/libmongoc-static-1.0-config.cmake.in
+@@ -30,7 +30,7 @@ list (APPEND MONGOC_STATIC_INCLUDE_DIRS ${BSON_STATIC_INCLUDE_DIRS})
+ # directory and the base name, but not the suffix, so we use CMake's
+ # find_library () to pick that up. Users can override this by configuring
+ # MONGOC_STATIC_LIBRARY themselves.
+-find_library (MONGOC_STATIC_LIBRARY mongoc-static-1.0 PATHS "@PACKAGE_LIBRARY_INSTALL_DIRS@" NO_DEFAULT_PATH)
++find_library (MONGOC_STATIC_LIBRARY mongoc-1.0 PATHS "@PACKAGE_LIBRARY_INSTALL_DIRS@" NO_DEFAULT_PATH)
+ if (MSVC)
+ set (MONGOC_STATIC_LIB_EXT "lib")
+ else ()
diff --git a/ports/mongo-c-driver/portfile.cmake b/ports/mongo-c-driver/portfile.cmake index eca359bd6..b95266f5d 100644 --- a/ports/mongo-c-driver/portfile.cmake +++ b/ports/mongo-c-driver/portfile.cmake @@ -9,18 +9,18 @@ vcpkg_from_github( fix-dependency-libbson.patch disable-static-when-dynamic-build.patch fix-arm-build.patch + disable-source-write.patch + fix-include-directory.patch + fix-static-cmake.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES "snappy" ENABLE_SNAPPY "icu" ENABLE_ICU ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(ENABLE_STATIC ON) -else() - set(ENABLE_STATIC OFF) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC) if(VCPKG_TARGET_IS_WINDOWS) set(ENABLE_SSL "WINDOWS") @@ -36,15 +36,12 @@ else() set(ENABLE_SHM_COUNTERS AUTO) endif() -file(READ ${CMAKE_CURRENT_LIST_DIR}/CONTROL _contents) -string(REGEX MATCH "\nVersion:[ ]*[^ \n]+" _contents "${_contents}") -string(REGEX REPLACE ".+Version:[ ]*([\\.0-9]+).*" "\\1" BUILD_VERSION "${_contents}") +file(READ "${CMAKE_CURRENT_LIST_DIR}/vcpkg.json" _contents) +string(JSON BUILD_VERSION GET "${_contents}" version) +file(WRITE "${SOURCE_PATH}/VERSION_CURRENT" "${BUILD_VERSION}") -file(WRITE "${BUILD_VERSION}" ${SOURCE_PATH}/VERSION_CURRENT) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBSON_ROOT_DIR=${CURRENT_INSTALLED_DIR} -DENABLE_MONGOC=ON @@ -59,70 +56,39 @@ vcpkg_configure_cmake( -DBUILD_VERSION=${BUILD_VERSION} -DCMAKE_DISABLE_FIND_PACKAGE_PythonInterp=ON ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_PythonInterp ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -set(PORT_POSTFIX "1.0") - if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libmongoc-static-${PORT_POSTFIX} TARGET_PATH share/libmongoc-${PORT_POSTFIX}) + vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/libmongoc-static-1.0" PACKAGE_NAME libmongoc-1.0) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libmongoc-${PORT_POSTFIX} TARGET_PATH share/libmongoc-${PORT_POSTFIX}) + vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/libmongoc-1.0" PACKAGE_NAME libmongoc-1.0) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -# This rename is needed because the official examples expect to use #include <mongoc.h> -# See Microsoft/vcpkg#904 -file(RENAME - ${CURRENT_PACKAGES_DIR}/include/libmongoc-${PORT_POSTFIX} - ${CURRENT_PACKAGES_DIR}/temp) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include) -file(RENAME ${CURRENT_PACKAGES_DIR}/temp ${CURRENT_PACKAGES_DIR}/include) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - if(NOT VCPKG_TARGET_IS_WINDOWS) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/libmongoc-static-1.0.a - ${CURRENT_PACKAGES_DIR}/lib/libmongoc-1.0.a) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/libmongoc-static-1.0.a - ${CURRENT_PACKAGES_DIR}/debug/lib/libmongoc-1.0.a) - endif() - else() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/mongoc-static-1.0.lib - ${CURRENT_PACKAGES_DIR}/lib/mongoc-1.0.lib) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-static-1.0.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-1.0.lib) - endif() - endif() - # drop the __declspec(dllimport) when building static vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/mongoc/mongoc-macros.h "define MONGOC_API __declspec(dllimport)" "define MONGOC_API") - file(RENAME ${CURRENT_PACKAGES_DIR}/share/libmongoc-${PORT_POSTFIX}/libmongoc-static-${PORT_POSTFIX}-config.cmake - ${CURRENT_PACKAGES_DIR}/share/libmongoc-${PORT_POSTFIX}/libmongoc-${PORT_POSTFIX}-config.cmake) - file(RENAME ${CURRENT_PACKAGES_DIR}/share/libmongoc-${PORT_POSTFIX}/libmongoc-static-${PORT_POSTFIX}-config-version.cmake - ${CURRENT_PACKAGES_DIR}/share/libmongoc-${PORT_POSTFIX}/libmongoc-${PORT_POSTFIX}-config-version.cmake) + file(RENAME + "${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-static-1.0-config.cmake" + "${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-1.0-config.cmake") + file(RENAME + "${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-static-1.0-config-version.cmake" + "${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-1.0-config-version.cmake") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin) endif() # Create cmake files for _both_ find_package(mongo-c-driver) and find_package(libmongoc-static-1.0)/find_package(libmongoc-1.0) -file(READ ${CURRENT_PACKAGES_DIR}/share/libmongoc-${PORT_POSTFIX}/libmongoc-${PORT_POSTFIX}-config.cmake LIBMONGOC_CONFIG_CMAKE) +file(READ "${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-1.0-config.cmake" LIBMONGOC_CONFIG_CMAKE) # Patch: Set _IMPORT_PREFIX and replace PACKAGE_PREFIX_DIR string(REPLACE @@ -150,8 +116,8 @@ if (NOT VCPKG_TARGET_IS_WINDOWS) string(REPLACE "/lib/libz.a" "\$<\$<CONFIG:DEBUG>:/debug>/lib/libz.a" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}") endif() -file(WRITE ${CURRENT_PACKAGES_DIR}/share/libmongoc-${PORT_POSTFIX}/libmongoc-${PORT_POSTFIX}-config.cmake "${LIBMONGOC_CONFIG_CMAKE}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-1.0-config.cmake" "${LIBMONGOC_CONFIG_CMAKE}") -file(COPY ${SOURCE_PATH}/THIRD_PARTY_NOTICES DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(COPY "${SOURCE_PATH}/THIRD_PARTY_NOTICES" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/mongo-c-driver/usage b/ports/mongo-c-driver/usage index d3347960e..561dc7ac8 100644 --- a/ports/mongo-c-driver/usage +++ b/ports/mongo-c-driver/usage @@ -1,7 +1,7 @@ The package mongo-c-driver is compatible with built-in CMake targets:
-
- find_package(libmongoc-1.0 CONFIG REQUIRED)
-
- target_include_directories(main PRIVATE ${MONGOC_INCLUDE_DIRS})
- target_link_libraries(main PRIVATE ${MONGOC_LIBRARIES})
- target_compile_definitions(main PRIVATE ${MONGOC_DEFINITIONS})
+
+ find_package(libmongoc-1.0 CONFIG REQUIRED)
+
+ target_include_directories(main PRIVATE ${MONGOC_INCLUDE_DIRS})
+ target_link_libraries(main PRIVATE ${MONGOC_LIBRARIES})
+ target_compile_definitions(main PRIVATE ${MONGOC_DEFINITIONS})
diff --git a/ports/mongo-c-driver/vcpkg.json b/ports/mongo-c-driver/vcpkg.json new file mode 100644 index 000000000..ba3779b2a --- /dev/null +++ b/ports/mongo-c-driver/vcpkg.json @@ -0,0 +1,37 @@ +{ + "name": "mongo-c-driver", + "version": "1.16.1", + "port-version": 6, + "description": "Client library written in C for MongoDB.", + "homepage": "https://github.com/mongodb/mongo-c-driver", + "dependencies": [ + "libbson", + { + "name": "openssl", + "platform": "!windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ], + "features": { + "icu": { + "description": "Enable ICU support, necessary to use non-ASCII usernames or passwords", + "dependencies": [ + "icu" + ] + }, + "snappy": { + "description": "Enables snappy compressor support", + "dependencies": [ + "snappy" + ] + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index 31586bad9..4b795ac57 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3138,7 +3138,7 @@ }, "libbson": { "baseline": "1.16.1", - "port-version": 2 + "port-version": 3 }, "libcbor": { "baseline": "0.8.0", @@ -4206,7 +4206,7 @@ }, "mongo-c-driver": { "baseline": "1.16.1", - "port-version": 5 + "port-version": 6 }, "mongo-cxx-driver": { "baseline": "3.4.0-5", diff --git a/versions/l-/libbson.json b/versions/l-/libbson.json index 6dfab9724..6aedc49e5 100644 --- a/versions/l-/libbson.json +++ b/versions/l-/libbson.json @@ -1,6 +1,11 @@ { "versions": [ { + "git-tree": "6e6782528f3e1d88372ebe20fa82128419ab0c1c", + "version": "1.16.1", + "port-version": 3 + }, + { "git-tree": "9988ee3812d5134cb3ebe09af0178e77518a1368", "version-string": "1.16.1", "port-version": 2 diff --git a/versions/m-/mongo-c-driver.json b/versions/m-/mongo-c-driver.json index 033ff1e25..6d90ec4a2 100644 --- a/versions/m-/mongo-c-driver.json +++ b/versions/m-/mongo-c-driver.json @@ -1,6 +1,11 @@ { "versions": [ { + "git-tree": "c13a612d9a93a8a338b5a32d14338683065813fd", + "version": "1.16.1", + "port-version": 6 + }, + { "git-tree": "6a68782eaa1afe2fc3de47db769e230ebd542ca7", "version-string": "1.16.1", "port-version": 5 |
