From 97e9d96715c6d1ad3501b47c02f76f92c1221a99 Mon Sep 17 00:00:00 2001 From: Violet Giraffe Date: Thu, 25 Oct 2018 21:07:35 +0300 Subject: [PATCH] libbson installation issue on Linux fixed (#4561) * libbson installation issue on Linux fixed * [libbson] Modernize --- ports/libbson/portfile.cmake | 40 +++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/ports/libbson/portfile.cmake b/ports/libbson/portfile.cmake index 3bc9cd18a..45bc06170 100644 --- a/ports/libbson/portfile.cmake +++ b/ports/libbson/portfile.cmake @@ -1,16 +1,16 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libbson-1.9.2) +set(LIBBSON_VERSION 1.9.2) vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/mongodb/libbson/archive/1.9.2.tar.gz" - FILENAME "libbson-1.9.2.tar.gz" + URLS "https://github.com/mongodb/libbson/archive/${LIBBSON_VERSION}.tar.gz" + FILENAME "libbson-${LIBBSON_VERSION}.tar.gz" SHA512 a05f1e8fbabb34e847692397e2e41fc5923ddd18dba861e5ab8a31acdf6738e13ab719eae8f9f8563f08fc43aab5c8d1f53cb6a47c38c96e132fa4a62a48d2bf ) -vcpkg_extract_source_archive(${ARCHIVE}) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-uwp.patch +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${LIBBSON_VERSION} + PATCHES fix-uwp.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -45,18 +45,26 @@ file(RENAME ${CURRENT_PACKAGES_DIR}/temp ${CURRENT_PACKAGES_DIR}/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - 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) + 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 - ${CMAKE_CURRENT_LIST_DIR}/static.patch + PATCHES static.patch ) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin)