From b566676eff46d8d945f5cc47152ac2ef3d0c8bd8 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Sun, 28 May 2017 05:28:34 -0700 Subject: [PATCH] [double-conversion] Bump version, build arm static to avoid cmake bug --- ports/double-conversion/CONTROL | 2 +- ports/double-conversion/portfile.cmake | 43 +++++++++++++++----------- 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/ports/double-conversion/CONTROL b/ports/double-conversion/CONTROL index b997336e7..226a90676 100644 --- a/ports/double-conversion/CONTROL +++ b/ports/double-conversion/CONTROL @@ -1,3 +1,3 @@ Source: double-conversion -Version: 2.0.1 +Version: 2.0.1-1 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 c5f954c1f..a4106c2c0 100644 --- a/ports/double-conversion/portfile.cmake +++ b/ports/double-conversion/portfile.cmake @@ -6,41 +6,48 @@ # CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} # -# 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) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/double-conversion-d4d68e4e788bec89d55a6a3e33af674087837c82) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/google/double-conversion/archive/d4d68e4e788bec89d55a6a3e33af674087837c82.zip" - FILENAME "d4d68e4e788bec89d55a6a3e33af674087837c82.zip" - SHA512 1406dc22b4ea71e1a2490f96cfed3230e122b97607c83ba106df4e90c7e4bfdcfc136c88741e7f1127237b38b4944d462ec5a4627a71f5ea3fe14afbcc64cd44 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/double-conversion + REF d4d68e4e788bec89d55a6a3e33af674087837c82 + SHA512 200b2f5ff1dfe4591f3c168e465ed154993469b7adf22b5bb2ae707d60d360ac45b51385f2d09d2a8358a914db01a790050cd9d9b78645f5ea5159410ce1de17 + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} PATCHES ${CMAKE_CURRENT_LIST_DIR}/001-fix-arm.patch ) -vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} - OPTIONS -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=True) +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} + OPTIONS + ${OPTIONS} +) + 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(COPY ${SOURCE_PATH}/double-conversion DESTINATION ${CURRENT_PACKAGES_DIR}/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/CMake) -vcpkg_copy_pdbs() -message(STATUS "Installing done") +vcpkg_copy_pdbs() # Include files should not be duplicated into the /debug/include directory. file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)