aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamie Kenyon <jamie_kenyon@hotmail.com>2016-10-11 13:45:43 +0100
committerJamie Kenyon <jamie_kenyon@hotmail.com>2016-10-11 13:45:43 +0100
commit388ecda0f61eaf62d302d0181aa37e0a42eb1bd8 (patch)
tree48ff31a0aa57d87c6c8c5ffbab7622f2604518e7
parenta0f621c0fca2c3de8bd5249f023979b800c543cf (diff)
downloadvcpkg-388ecda0f61eaf62d302d0181aa37e0a42eb1bd8.tar.gz
vcpkg-388ecda0f61eaf62d302d0181aa37e0a42eb1bd8.zip
Adding double-conversion package.
-rw-r--r--ports/doubleconversion/CONTROL3
-rw-r--r--ports/doubleconversion/mscv_vers.patch46
-rw-r--r--ports/doubleconversion/portfile.cmake71
3 files changed, 120 insertions, 0 deletions
diff --git a/ports/doubleconversion/CONTROL b/ports/doubleconversion/CONTROL
new file mode 100644
index 000000000..01b15a0e1
--- /dev/null
+++ b/ports/doubleconversion/CONTROL
@@ -0,0 +1,3 @@
+Source: doubleconversion
+Version: 2.0.1
+Description: Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles.
diff --git a/ports/doubleconversion/mscv_vers.patch b/ports/doubleconversion/mscv_vers.patch
new file mode 100644
index 000000000..911ccee84
--- /dev/null
+++ b/ports/doubleconversion/mscv_vers.patch
@@ -0,0 +1,46 @@
+--- a/msvc/double-conversion.vcxproj
++++ b/msvc/double-conversion.vcxproj
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+@@ -22,31 +22,32 @@
+ <ProjectGuid>{6863544A-0CE8-4CA9-A132-74116FD9D9BB}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>doubleconversion</RootNamespace>
++ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+- <PlatformToolset>v120</PlatformToolset>
++ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+- <PlatformToolset>v120</PlatformToolset>
++ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+- <PlatformToolset>v120</PlatformToolset>
++ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+- <PlatformToolset>v120</PlatformToolset>
++ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
diff --git a/ports/doubleconversion/portfile.cmake b/ports/doubleconversion/portfile.cmake
new file mode 100644
index 000000000..cb8be983b
--- /dev/null
+++ b/ports/doubleconversion/portfile.cmake
@@ -0,0 +1,71 @@
+# Common Ambient Variables:
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# 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}
+#
+
+include(${CMAKE_TRIPLET_FILE})
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/double-conversion-master)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/google/double-conversion/archive/master.zip"
+ FILENAME "doubleconversion-201.zip"
+ SHA512 8ce810f9957a99b761e2058d00a17def65ba52e55c8ab95e96947a98a31c199748dc707c9d1883783d970e8f19ac9593ae20a5376e9cfdd53a12cf88eccdbb81
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/mscv_vers.patch
+)
+
+vcpkg_build_msbuild(
+ PROJECT_PATH ${SOURCE_PATH}/msvc/double-conversion.vcxproj
+)
+
+message(STATUS "Installing")
+file(INSTALL
+ ${SOURCE_PATH}/msvc/Debug/Win32/double-conversion.lib
+ ${SOURCE_PATH}/msvc/Debug/Win32/double-conversion.pdb
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
+)
+file(INSTALL
+ ${SOURCE_PATH}/msvc/Release/Win32/double-conversion.lib
+ DESTINATION ${CURRENT_PACKAGES_DIR}/lib
+)
+
+file(COPY ${SOURCE_PATH}/double-conversion DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+vcpkg_copy_pdbs()
+
+message(STATUS "Installing done")
+
+# Include files should not be duplicated into the /debug/include directory.
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/doubleconversion)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/doubleconversion/LICENSE ${CURRENT_PACKAGES_DIR}/share/doubleconversion/copyright)
+
+# Move the Release CMake files.
+file(GLOB cacheFiles ${CURRENT_PACKAGES_DIR}/CMake/*.cmake)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/doubleconversion/release)
+foreach(cacheFile ${cacheFiles})
+ get_filename_component(filename ${cacheFile} NAME)
+ file(RENAME ${cacheFile} ${CURRENT_PACKAGES_DIR}/share/doubleconversion/release/${filename})
+endforeach()
+# Remove the original directory.
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/CMake)
+
+# Move the Debug CMake files.
+file(GLOB cacheFiles ${CURRENT_PACKAGES_DIR}/debug/CMake/*.cmake)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/doubleconversion/debug)
+foreach(cacheFile ${cacheFiles})
+ get_filename_component(filename ${cacheFile} NAME)
+ file(RENAME ${cacheFile} ${CURRENT_PACKAGES_DIR}/share/doubleconversion/debug/${filename})
+endforeach()
+# Remove the original directory.
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/CMake)
+