diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2016-09-18 20:50:08 -0700 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2016-09-18 20:54:03 -0700 |
| commit | ccca198c1b1730b0241911cb56dc8e3504958b2a (patch) | |
| tree | a2dd9b8b087a09afdcecc5cbb3377bed15127eb2 /ports/libuv | |
| download | vcpkg-ccca198c1b1730b0241911cb56dc8e3504958b2a.tar.gz vcpkg-ccca198c1b1730b0241911cb56dc8e3504958b2a.zip | |
Initial commit
Diffstat (limited to 'ports/libuv')
| -rw-r--r-- | ports/libuv/CONTROL | 3 | ||||
| -rw-r--r-- | ports/libuv/portfile.cmake | 105 |
2 files changed, 108 insertions, 0 deletions
diff --git a/ports/libuv/CONTROL b/ports/libuv/CONTROL new file mode 100644 index 000000000..32d44cf39 --- /dev/null +++ b/ports/libuv/CONTROL @@ -0,0 +1,3 @@ +Source: libuv +Version: 1.9.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 new file mode 100644 index 000000000..0a830b8e4 --- /dev/null +++ b/ports/libuv/portfile.cmake @@ -0,0 +1,105 @@ +include(vcpkg_common_functions) +vcpkg_download_distfile(ARCHIVE + URL "https://github.com/libuv/libuv/archive/v1.9.1.zip" + FILENAME "libuv-v1.9.1.zip" + MD5 4d1e74197920455203954cd8b75f0a2f +) + +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} + ) +endif() + +find_program(PYTHON2 + NAMES python2 python + PATHS C:/python27 ENV PYTHON +) +if(NOT PYTHON2 MATCHES "NOTFOUND") + execute_process( + COMMAND ${PYTHON2} --version + OUTPUT_VARIABLE PYTHON_VER_CHECK_OUT + ERROR_VARIABLE PYTHON_VER_CHECK_ERR + ) + set(PYTHON_VER_CHECK "${PYTHON_VER_CHECK_OUT}${PYTHON_VER_CHECK_ERR}") + debug_message("PYTHON_VER_CHECK=${PYTHON_VER_CHECK}") + if(NOT PYTHON_VER_CHECK MATCHES "Python 2.7") + set(PYTHON2 PYTHON2-NOTFOUND) + find_program(PYTHON2 + NAMES python2 python + PATHS C:/python27 ENV PYTHON + NO_SYSTEM_ENVIRONMENT_PATH + ) + endif() +endif() + +if(PYTHON2 MATCHES "NOTFOUND") + message(FATAL_ERROR "libuv uses the GYP build system, which requires Python 2.7.\n" + "Python 2.7 was not found in the path or by searching inside C:\\Python27.\n" + "There is no portable redistributable for Python 2.7, so you will need to install the MSI located at:\n" + " https://www.python.org/ftp/python/2.7.11/python-2.7.11.amd64.msi\n" + ) +endif() + +set(ENV{GYP_MSVS_VERSION} 2015) +set(ENV{PYTHON} ${PYTHON2}) + +if(TRIPLET_SYSTEM_ARCH MATCHES "x86|x64") + message(STATUS "Building Release") + vcpkg_execute_required_process( + COMMAND cmd /c vcbuild.bat release ${TRIPLET_SYSTEM_ARCH} shared + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/libuv-1.9.1 + LOGNAME ${TARGET_TRIPLET}-build-rel + ) + message(STATUS "Building Debug") + vcpkg_execute_required_process( + COMMAND cmd /c vcbuild.bat debug ${TRIPLET_SYSTEM_ARCH} shared + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/libuv-1.9.1 + LOGNAME ${TARGET_TRIPLET}-build-dbg + ) +else() + message(FATAL_ERROR "Unsupported platform") +endif() + +file(MAKE_DIRECTORY + ${CURRENT_PACKAGES_DIR}/include + ${CURRENT_PACKAGES_DIR}/lib + ${CURRENT_PACKAGES_DIR}/bin + ${CURRENT_PACKAGES_DIR}/debug/lib + ${CURRENT_PACKAGES_DIR}/debug/bin + ${CURRENT_PACKAGES_DIR}/share/libuv + ) + +file(COPY + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/libuv-1.9.1/include/tree.h + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/libuv-1.9.1/include/uv.h + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/libuv-1.9.1/include/uv-version.h + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/libuv-1.9.1/include/uv-errno.h + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/libuv-1.9.1/include/uv-threadpool.h + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/libuv-1.9.1/include/uv-win.h + DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +file(COPY + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/libuv-1.9.1/Debug/libuv.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) +file(COPY + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/libuv-1.9.1/Debug/libuv.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +file(COPY + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/libuv-1.9.1/Release/libuv.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/bin) +file(COPY + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/libuv-1.9.1/Release/libuv.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +file(COPY + ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/libuv-1.9.1/LICENSE + DESTINATION ${CURRENT_PACKAGES_DIR}/share/libuv) + +file(RENAME + ${CURRENT_PACKAGES_DIR}/share/libuv/LICENSE + ${CURRENT_PACKAGES_DIR}/share/libuv/copyright) +vcpkg_copy_pdbs() |
