diff --git a/ports/bdwgc/portfile.cmake b/ports/bdwgc/portfile.cmake index 4fea8abde73f08..a617c5ae83e5e4 100644 --- a/ports/bdwgc/portfile.cmake +++ b/ports/bdwgc/portfile.cmake @@ -1,13 +1,13 @@ include(vcpkg_common_functions) -set(BDWGC_VERSION 8.0.4) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gc-${BDWGC_VERSION}) - -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/ivmai/bdwgc/releases/download/v${BDWGC_VERSION}/gc-${BDWGC_VERSION}.tar.gz" - FILENAME "gc-${BDWGC_VERSION}.tar.gz" - SHA512 57ccca15c6e50048d306a30de06c1a844f36103a84c2d1c17cbccbbc0001e17915488baec79737449982da99ce5d14ce527176afae9ae153cbbb5a19d986366e +set(BDWGC_VERSION v8.0.4) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ivmai/bdwgc + REF ${BDWGC_VERSION} + SHA512 f3c178c9cab9d9df9ecdad5ac5661c916518d29b0eaca24efe569cb757c386c118ad4389851107597d99ff1bbe99b46383cce73dfd01be983196aa57c9626a4a + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -19,17 +19,31 @@ vcpkg_build_cmake() # install files file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}) + +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(SHARED_LIB_SUFFIX ".dll") + set(STATIC_LIB_SUFFIX ".lib") +else() + set(SHARED_LIB_SUFFIX) + set(STATIC_LIB_SUFFIX) +endif() + # LIB if (VCPKG_CRT_LINKAGE STREQUAL static) - set(LIBNAME "gcmt-lib.lib") + set(LIBNAME "gcmt-lib${STATIC_LIB_SUFFIX}") else() - set(LIBNAME "gcmt-dll.lib") + set(LIBNAME "gcmt-dll${STATIC_LIB_SUFFIX}") endif() -file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${LIBNAME}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib RENAME gc.lib) -file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/gcmt-dll.dll" DESTINATION ${CURRENT_PACKAGES_DIR}/bin RENAME gc.dll) -file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${LIBNAME}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib RENAME gc.lib) -file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/gcmt-dll.dll" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin RENAME gc.dll) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${LIBNAME}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib RENAME gc${STATIC_LIB_SUFFIX}) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${LIBNAME}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib RENAME gc${STATIC_LIB_SUFFIX}) + + if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/gcmt-dll${SHARED_LIB_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/bin RENAME gc${SHARED_LIB_SUFFIX}) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/gcmt-dll${SHARED_LIB_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin RENAME gc${SHARED_LIB_SUFFIX}) + endif() +endif() vcpkg_copy_pdbs()