aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-05-18 20:23:24 -0700
committerGitHub <noreply@github.com>2017-05-18 20:23:24 -0700
commit06459be6bd912dabdca77dc2582754e3f03aefbf (patch)
tree090985d18adb3fe372a8d46e9a95c5c4b60ebbbb
parent9f4bdd71bf46a9d68b027dd9a6ba99e89ecef7f3 (diff)
parenteacc0e9ffba598ad4f9f01d5eae6dc56f6c53763 (diff)
downloadvcpkg-06459be6bd912dabdca77dc2582754e3f03aefbf.tar.gz
vcpkg-06459be6bd912dabdca77dc2582754e3f03aefbf.zip
Merge pull request #1105 from codicodi/bump-libuv
[libuv] update to 1.11.0
-rw-r--r--ports/libuv/CMakeLists.txt25
-rw-r--r--ports/libuv/CONTROL2
-rw-r--r--ports/libuv/portfile.cmake102
3 files changed, 48 insertions, 81 deletions
diff --git a/ports/libuv/CMakeLists.txt b/ports/libuv/CMakeLists.txt
new file mode 100644
index 000000000..cd5d9f66f
--- /dev/null
+++ b/ports/libuv/CMakeLists.txt
@@ -0,0 +1,25 @@
+cmake_minimum_required(VERSION 3.5)
+project(libuv C)
+
+file(GLOB UV_SOURCES_COMMON src/*.c)
+file(GLOB UV_SOURCES_WIN src/win/*.c)
+
+add_library(libuv ${UV_SOURCES_COMMON} ${UV_SOURCES_WIN})
+target_link_libraries(libuv iphlpapi psapi shell32 userenv ws2_32)
+target_include_directories(libuv PUBLIC ./include PRIVATE ./src)
+set_target_properties(libuv PROPERTIES DEFINE_SYMBOL BUILDING_UV_SHARED)
+
+if(NOT UV_SKIP_HEADERS)
+ install(FILES
+ include/tree.h
+ include/uv.h
+ include/uv-version.h
+ include/uv-errno.h
+ include/uv-threadpool.h
+ include/uv-win.h
+ DESTINATION include)
+endif()
+install(TARGETS libuv
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib)
diff --git a/ports/libuv/CONTROL b/ports/libuv/CONTROL
index 0e4232309..275dee9df 100644
--- a/ports/libuv/CONTROL
+++ b/ports/libuv/CONTROL
@@ -1,3 +1,3 @@
Source: libuv
-Version: 1.10.1-2
+Version: 1.11.0
Description: libuv is a multi-platform support library with a focus on asynchronous I/O. \ No newline at end of file
diff --git a/ports/libuv/portfile.cmake b/ports/libuv/portfile.cmake
index 6f0fa773e..a8f4463cd 100644
--- a/ports/libuv/portfile.cmake
+++ b/ports/libuv/portfile.cmake
@@ -1,87 +1,29 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/libuv-1.10.1)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/libuv/libuv/archive/v1.10.1.zip"
- FILENAME "libuv-v1.10.1.zip"
- SHA512 5a1e4b8e4584fccbc3df5bb46cf0efd7165169709d9b2a0e06fe534afbf7a262500cf665441ef64f8f7029b535f722119ab0faa4fb1367b05452d88a3e02bd2b
-)
-
-vcpkg_download_distfile(GYP
- URLS
- "https://github.com/adblockplus/gyp/archive/a7055b3989c1074adca03b4b4829e7f0e57f6efd.zip"
- "https://github.com/bnoordhuis/gyp/archive/a7055b3989c1074adca03b4b4829e7f0e57f6efd.zip"
- FILENAME "gyp-a7055b3989c1074adca03b4b4829e7f0e57f6efd.zip"
- SHA512 edf00b4a44de21e9d90288164c3b746a7628cc10f56c8b82031b1240db61d3e2c5a48fc4037d87411b740b29c2c6ec40d671f59241f276c6a091dd53ca58381e
-)
-
-if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src)
- file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src)
-endif()
-
-file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src)
-vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src)
-
-file(MAKE_DIRECTORY ${SOURCE_PATH}/build)
-vcpkg_extract_source_archive(${GYP} ${SOURCE_PATH}/build)
-file(RENAME ${SOURCE_PATH}/build/gyp-a7055b3989c1074adca03b4b4829e7f0e57f6efd ${SOURCE_PATH}/build/gyp)
-
-vcpkg_find_acquire_program(PYTHON2)
-set(ENV{PYTHON} ${PYTHON2})
-set(ENV{GYP_MSVS_VERSION} 2015)
-
-if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- set(LIBUV_LINKAGE shared_library)
-else()
- set(LIBUV_LINKAGE static_library)
-endif()
-
-if(TRIPLET_SYSTEM_ARCH MATCHES "x86")
- set(GYP_ARCH ia32)
- set(MSBUILD_PLATFORM WIN32)
-elseif(TRIPLET_SYSTEM_ARCH MATCHES "x64")
- set(GYP_ARCH x64)
- set(MSBUILD_PLATFORM x64)
-else()
- message(FATAL_ERROR "Unsupported platform")
-endif()
-
-message(STATUS "Generating solution")
-vcpkg_execute_required_process(
- COMMAND "${PYTHON2}" gyp_uv.py -Dtarget_arch=${GYP_ARCH} -Duv_library=${LIBUV_LINKAGE}
- WORKING_DIRECTORY ${SOURCE_PATH}
- LOGNAME ${TARGET_TRIPLET}-generate
-)
-
-vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/uv.sln
- PLATFORM ${MSBUILD_PLATFORM}
-)
-
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include)
-file(COPY
- ${SOURCE_PATH}/include/tree.h
- ${SOURCE_PATH}/include/uv.h
- ${SOURCE_PATH}/include/uv-version.h
- ${SOURCE_PATH}/include/uv-errno.h
- ${SOURCE_PATH}/include/uv-threadpool.h
- ${SOURCE_PATH}/include/uv-win.h
- DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libuv/libuv
+ REF v1.11.0
+ SHA512 fb0415d62a32cfc658bad6c849263ac236d27e9188fac603467173a5ae34fb3ad3e3bfd333e543ebd98b4fd59e0a58a93275e830c4365c058b62bb0c2c802732
+ HEAD_REF v1.x)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG
+ -DUV_SKIP_HEADERS=ON)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug/lib)
-if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(COPY ${SOURCE_PATH}/Debug/libuv.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
- file(COPY ${SOURCE_PATH}/Release/libuv.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
- file(COPY ${SOURCE_PATH}/Debug/libuv.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(COPY ${SOURCE_PATH}/Release/libuv.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+file(READ ${CURRENT_PACKAGES_DIR}/include/uv.h UV_H)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ string(REPLACE "defined(USING_UV_SHARED)" "1" UV_H "${UV_H}")
else()
- file(COPY ${SOURCE_PATH}/Debug/lib/libuv.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
- file(COPY ${SOURCE_PATH}/Release/lib/libuv.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ string(REPLACE "defined(USING_UV_SHARED)" "0" UV_H "${UV_H}")
endif()
+file(WRITE ${CURRENT_PACKAGES_DIR}/include/uv.h "${UV_H}")
-
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/libuv)
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libuv)
-
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libuv/LICENSE ${CURRENT_PACKAGES_DIR}/share/libuv/copyright)
-vcpkg_copy_pdbs()