diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2017-03-23 03:11:25 -0700 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2017-03-23 03:11:25 -0700 |
| commit | cb5fe7163e13fb3ceb461f716e465c155aefd5ac (patch) | |
| tree | 7dfe88fc79c9b43431ce9a3800e97ce1a0fc4e0d | |
| parent | c1fee48c080abbbe0aec99b2e497cc7bd81a4908 (diff) | |
| download | vcpkg-cb5fe7163e13fb3ceb461f716e465c155aefd5ac.tar.gz vcpkg-cb5fe7163e13fb3ceb461f716e465c155aefd5ac.zip | |
[libuv] Remove internal build downloads, fix upgrades, improve portfile.
| -rw-r--r-- | ports/libuv/CONTROL | 2 | ||||
| -rw-r--r-- | ports/libuv/portfile.cmake | 59 |
2 files changed, 34 insertions, 27 deletions
diff --git a/ports/libuv/CONTROL b/ports/libuv/CONTROL index 6401d169d..7c658a590 100644 --- a/ports/libuv/CONTROL +++ b/ports/libuv/CONTROL @@ -1,3 +1,3 @@ Source: libuv -Version: 1.10.1 +Version: 1.10.1-1 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 fbc71854e..1dbaed520 100644 --- a/ports/libuv/portfile.cmake +++ b/ports/libuv/portfile.cmake @@ -6,47 +6,54 @@ vcpkg_download_distfile(ARCHIVE SHA512 5a1e4b8e4584fccbc3df5bb46cf0efd7165169709d9b2a0e06fe534afbf7a262500cf665441ef64f8f7029b535f722119ab0faa4fb1367b05452d88a3e02bd2b ) -if(NOT EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src) - message(STATUS "Extracting source ${ARCHIVE}") - file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src) - vcpkg_execute_required_process( - COMMAND ${CMAKE_COMMAND} -E tar xzf ${ARCHIVE} - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src - LOGNAME extract-${TARGET_TRIPLET} - ) +vcpkg_download_distfile(GYP + URLS "https://chromium.googlesource.com/external/gyp/+archive/aae1e3efb50786df20e9572621fb746865f0df53.tar.gz" + FILENAME "gyp-aae1e3efb50786df20e9572621fb746865f0df53.tar.gz" + SHA512 ccabd8dc611fdb608dca460c14710089612034f6f8151ae41cf22397ac191110ddec8195a7c239096e517a5527cdabf9a1e6108d9aa8140efd09c5ffcce1a1e7 +) + +if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src) + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src) endif() -find_program(GIT git) -get_filename_component(GIT_EXE_PATH ${GIT} DIRECTORY) -set(ENV{PATH} "$ENV{PATH};${GIT_EXE_PATH}") +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/gyp) +vcpkg_extract_source_archive(${GYP} ${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) + set(LIBUV_LINKAGE shared_library) else() - set(LIBUV_LINKAGE static) + set(LIBUV_LINKAGE static_library) endif() -if(TRIPLET_SYSTEM_ARCH MATCHES "x86|x64") - message(STATUS "Building Release") - vcpkg_execute_required_process( - COMMAND cmd /c vcbuild.bat release ${TRIPLET_SYSTEM_ARCH} ${LIBUV_LINKAGE} - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME ${TARGET_TRIPLET}-build-rel - ) - message(STATUS "Building Debug") - vcpkg_execute_required_process( - COMMAND cmd /c vcbuild.bat debug ${TRIPLET_SYSTEM_ARCH} ${LIBUV_LINKAGE} - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME ${TARGET_TRIPLET}-build-dbg - ) +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 |
