[libwebsockets] Use vcpkg_from_github. Compare against VCPKG_LIBRARY_LINKAGE instead of VCPKG_CRT_LINKAGE. Use vcpkg_fixup_cmake_targets().

This commit is contained in:
Robert Schumacher 2017-11-11 21:00:10 -08:00
parent 1b67990395
commit 482f85f414
2 changed files with 17 additions and 26 deletions

View File

@ -1,4 +1,4 @@
Source: libwebsockets
Version: 2.0.0-3
Version: 2.0.0-4
Build-Depends: zlib, openssl
Description: Libwebsockets is a lightweight pure C library built to use minimal CPU and memory resources, and provide fast throughput in both directions as client or server.

View File

@ -1,31 +1,27 @@
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libwebsockets-2.0.0)
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/warmcat/libwebsockets/archive/v2.0.0.zip"
FILENAME "libwebsockets-v2.0.0.zip"
SHA512 bf57a46f2c60095e7e6ec6656b185ffd2cf8f553bc22255ae8f6825d3613316d794f139cdefacbdf60ef997b0cd675fe356813d406c9b7c5a5ae838ce5326042
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO warmcat/libwebsockets
REF v2.0.0
SHA512 26bc09877c1595b80b08e788e4ae3908af86b67e19f4b9f7ac48d90783cf5c563d4d03e5586d18f6bb8e67d15a03d000f31f67f3a327d898844f77e5d22f7c9d
HEAD_REF master
)
vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/0001-Fix-UWP.patch
SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/0001-Fix-UWP.patch
)
if(VCPKG_CRT_LINKAGE STREQUAL static)
set(LWS_MSVC_STATIC_RUNTIME ON)
set(LWS_MSVC_SHARED_RUNTIME OFF)
else()
set(LWS_MSVC_STATIC_RUNTIME OFF)
set(LWS_MSVC_SHARED_RUNTIME ON)
endif()
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LWS_WITH_STATIC)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LWS_WITH_SHARED)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DLWS_WITH_STATIC=${LWS_MSVC_STATIC_RUNTIME}
-DLWS_WITH_SHARED=${LWS_MSVC_SHARED_RUNTIME}
-DLWS_WITH_STATIC=${LWS_WITH_STATIC}
-DLWS_WITH_SHARED=${LWS_WITH_SHARED}
-DLWS_USE_BUNDLED_ZLIB=OFF
-DLWS_WITHOUT_TESTAPPS=ON
-DLWS_IPV6=ON
@ -36,14 +32,9 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share)
file(RENAME ${CURRENT_PACKAGES_DIR}/cmake ${CURRENT_PACKAGES_DIR}/share/libwebsockets)
file(RENAME
${CURRENT_PACKAGES_DIR}/debug/cmake/LibwebsocketsTargets-debug.cmake
${CURRENT_PACKAGES_DIR}/share/libwebsockets/LibwebsocketsTargets-debug.cmake
)
vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/cmake)
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libwebsockets)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libwebsockets/LICENSE ${CURRENT_PACKAGES_DIR}/share/libwebsockets/copyright)