diff options
| author | Stefano Sinigardi <stesinigardi@hotmail.com> | 2019-10-07 19:35:13 +0200 |
|---|---|---|
| committer | Curtis J Bezault <curtbezault@gmail.com> | 2019-10-07 10:35:13 -0700 |
| commit | 726c11148105a97aef39bec024fdb7c140b1b154 (patch) | |
| tree | 26bd2aee0c13a8351b259cc4ffffaf0efededb4e /ports/libbson | |
| parent | e86ff2cc54bda9e9ee322ab69141e7113d5c40a9 (diff) | |
| download | vcpkg-726c11148105a97aef39bec024fdb7c140b1b154.tar.gz vcpkg-726c11148105a97aef39bec024fdb7c140b1b154.zip | |
[vcpkg] fatal_error when patch fails to apply (#8087)
vcpkg will now fail on failure to apply patches except when using `--head`.
Diffstat (limited to 'ports/libbson')
| -rw-r--r-- | ports/libbson/CONTROL | 2 | ||||
| -rw-r--r-- | ports/libbson/portfile.cmake | 189 | ||||
| -rw-r--r-- | ports/libbson/static.patch | 11 |
3 files changed, 95 insertions, 107 deletions
diff --git a/ports/libbson/CONTROL b/ports/libbson/CONTROL index f5ae2330d..42d87161b 100644 --- a/ports/libbson/CONTROL +++ b/ports/libbson/CONTROL @@ -1,4 +1,4 @@ Source: libbson -Version: 1.14.0-1 +Version: 1.14.0-3 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/portfile.cmake b/ports/libbson/portfile.cmake index c682ae086..09d84266c 100644 --- a/ports/libbson/portfile.cmake +++ b/ports/libbson/portfile.cmake @@ -1,95 +1,94 @@ -include(vcpkg_common_functions)
-set(BUILD_VERSION 1.14.0)
-
-vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO mongodb/mongo-c-driver
- REF ${BUILD_VERSION}
- SHA512 bf2bb835543dd2a445aac6cafa7bbbf90921ec41014534779924a5eb7cbd9fd532acd8146ce81dfcf1bcac33a78d8fce22b962ed7f776449e4357eccab8d6110
- HEAD_REF master
- PATCHES fix-uwp.patch
-)
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- set(ENABLE_STATIC ON)
-else()
- set(ENABLE_STATIC OFF)
-endif()
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS
- -DENABLE_MONGOC=OFF
- -DENABLE_BSON=ON
- -DENABLE_TESTS=OFF
- -DENABLE_EXAMPLES=OFF
- -DENABLE_STATIC=${ENABLE_STATIC}
- -DBUILD_VERSION=${BUILD_VERSION}
-)
-
-vcpkg_install_cmake()
-if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libbson-static-1.0)
-else()
- vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/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-1.0
- ${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)
-
-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
- vcpkg_apply_patches(
- SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
- PATCHES static.patch
- )
-
- 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")
-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_copy_pdbs()
+include(vcpkg_common_functions) +set(BUILD_VERSION 1.14.0) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mongodb/mongo-c-driver + REF ${BUILD_VERSION} + SHA512 bf2bb835543dd2a445aac6cafa7bbbf90921ec41014534779924a5eb7cbd9fd532acd8146ce81dfcf1bcac33a78d8fce22b962ed7f776449e4357eccab8d6110 + HEAD_REF master + PATCHES fix-uwp.patch +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(ENABLE_STATIC ON) +else() + set(ENABLE_STATIC OFF) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DENABLE_MONGOC=OFF + -DENABLE_BSON=ON + -DENABLE_TESTS=OFF + -DENABLE_EXAMPLES=OFF + -DENABLE_STATIC=${ENABLE_STATIC} + -DBUILD_VERSION=${BUILD_VERSION} +) + +vcpkg_install_cmake() +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libbson-static-1.0) +else() + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/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-1.0 + ${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) + +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}") + + 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") +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_copy_pdbs() diff --git a/ports/libbson/static.patch b/ports/libbson/static.patch deleted file mode 100644 index 7710d5b6d..000000000 --- a/ports/libbson/static.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/bson/bson-macros.h -+++ b/bson/bson-macros.h -@@ -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 - |
