From 888843e03923448e9ac874c13919e779f967a44c Mon Sep 17 00:00:00 2001 From: codicodi Date: Sun, 6 Aug 2017 01:10:48 +0200 Subject: [PATCH] [double-conversion] update to 3.0.0 --- ports/double-conversion/CONTROL | 2 +- ports/double-conversion/portfile.cmake | 55 +++++++++++++------------- 2 files changed, 28 insertions(+), 29 deletions(-) diff --git a/ports/double-conversion/CONTROL b/ports/double-conversion/CONTROL index 226a906762..2ab2391e79 100644 --- a/ports/double-conversion/CONTROL +++ b/ports/double-conversion/CONTROL @@ -1,3 +1,3 @@ Source: double-conversion -Version: 2.0.1-1 +Version: 3.0.0 Description: Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles. diff --git a/ports/double-conversion/portfile.cmake b/ports/double-conversion/portfile.cmake index a4106c2c0f..7bf2f6a638 100644 --- a/ports/double-conversion/portfile.cmake +++ b/ports/double-conversion/portfile.cmake @@ -1,24 +1,10 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - # This is due to a bug in CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS on arm - message(STATUS "DLLs on arm aren't currently supported. Building static libs instead.") - set(VCPKG_LIBRARY_LINKAGE "static") -endif() - include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/double-conversion - REF d4d68e4e788bec89d55a6a3e33af674087837c82 - SHA512 200b2f5ff1dfe4591f3c168e465ed154993469b7adf22b5bb2ae707d60d360ac45b51385f2d09d2a8358a914db01a790050cd9d9b78645f5ea5159410ce1de17 + REF v3.0.0 + SHA512 5057af6e72f2aaace56ebdd9a0ddfa34318cbdfeabec5c361b60e6c92f160c8999c046c50f8c6f8d590eb8e97aa70bb6e97ba8148f0dc95dbc42f204fcdc1abf HEAD_REF master ) @@ -27,25 +13,38 @@ vcpkg_apply_patches( PATCHES ${CMAKE_CURRENT_LIST_DIR}/001-fix-arm.patch ) -set(OPTIONS) -if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(OPTIONS -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=True) -endif() - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS - ${OPTIONS} + -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=True ) vcpkg_install_cmake() -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) -file(RENAME ${CURRENT_PACKAGES_DIR}/CMake ${CURRENT_PACKAGES_DIR}/share/double-conversion) -file(READ ${CURRENT_PACKAGES_DIR}/debug/CMake/double-conversionLibraryDepends-debug.cmake DEBUG_MODULE) -string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" DEBUG_MODULE "${DEBUG_MODULE}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/double-conversion/double-conversionLibraryDepends-debug.cmake "${DEBUG_MODULE}") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/CMake) +# Rename exported target files into something vcpkg_fixup_cmake_targets expects +file(RENAME ${CURRENT_PACKAGES_DIR}/debug/CMake/double-conversionLibraryDepends-debug.cmake + ${CURRENT_PACKAGES_DIR}/debug/CMake/double-conversionTargets-debug.cmake) +file(RENAME ${CURRENT_PACKAGES_DIR}/CMake/double-conversionLibraryDepends-release.cmake + ${CURRENT_PACKAGES_DIR}/CMake/double-conversionTargets-release.cmake) +file(RENAME ${CURRENT_PACKAGES_DIR}/CMake/double-conversionLibraryDepends.cmake + ${CURRENT_PACKAGES_DIR}/CMake/double-conversionTargets.cmake) + +file(READ ${CURRENT_PACKAGES_DIR}/CMake/double-conversionTargets.cmake TARGETS_FILE) +string(REPLACE "double-conversionLibraryDepends" "double-conversionTargets" TARGETS_FILE "${TARGETS_FILE}") +file(WRITE ${CURRENT_PACKAGES_DIR}/CMake/double-conversionTargets.cmake "${TARGETS_FILE}") + +# Remove hardcoded paths from config file +file(READ ${CURRENT_PACKAGES_DIR}/CMake/double-conversionConfig.cmake CONFIG_FILE) +string(REPLACE "${CURRENT_PACKAGES_DIR}/lib/cmake/double-conversion/double-conversionLibraryDepends.cmake" + "\${double-conversion_CMAKE_DIR}/double-conversionTargets.cmake" CONFIG_FILE "${CONFIG_FILE}") +string(REPLACE "${CURRENT_PACKAGES_DIR}" + "\${double-conversion_CMAKE_DIR}/../.." CONFIG_FILE "${CONFIG_FILE}") +file(WRITE ${CURRENT_PACKAGES_DIR}/CMake/double-conversionConfig.cmake "${CONFIG_FILE}") + +vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) vcpkg_copy_pdbs()