81 lines
2.7 KiB
CMake
Executable File
81 lines
2.7 KiB
CMake
Executable File
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
|
|
|
|
vcpkg_from_github(
|
|
OUT_SOURCE_PATH QUIC_SOURCE_PATH
|
|
REPO microsoft/msquic
|
|
REF v1.2.0
|
|
SHA512 6f63d42d950cbba88764332b31818a8627e7d3ecf7393cdef77daedd35a7bb04ac39c642991afb7cca502a346999233023e3b36011916c67e348179838aa7042
|
|
HEAD_REF master
|
|
PATCHES
|
|
fix-warnings.patch # Remove /WX, -Werror
|
|
fix-platform.patch # Make OpenSSL build use VCPKG_TARGET_ARCHITECTURE
|
|
fix-install.patch # Adjust install path of build outputs
|
|
)
|
|
|
|
vcpkg_from_github(
|
|
OUT_SOURCE_PATH OPENSSL_SOURCE_PATH
|
|
REPO quictls/openssl
|
|
REF a6e9d76db343605dae9b59d71d2811b195ae7434
|
|
SHA512 23510a11203b96476c194a1987c7d4e758375adef0f6dfe319cd8ec4b8dd9b12ea64c4099cf3ba35722b992dad75afb1cfc5126489a5fa59f5ee4d46bdfbeaf6
|
|
HEAD_REF OpenSSL_1_1_1k+quic
|
|
)
|
|
file(REMOVE_RECURSE ${QUIC_SOURCE_PATH}/submodules)
|
|
file(MAKE_DIRECTORY ${QUIC_SOURCE_PATH}/submodules)
|
|
file(RENAME ${OPENSSL_SOURCE_PATH} ${QUIC_SOURCE_PATH}/submodules/openssl)
|
|
|
|
vcpkg_find_acquire_program(PERL)
|
|
get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
|
|
vcpkg_add_to_path(${PERL_EXE_PATH})
|
|
|
|
if(NOT VCPKG_HOST_IS_WINDOWS)
|
|
find_program(MAKE make)
|
|
get_filename_component(MAKE_EXE_PATH ${MAKE} DIRECTORY)
|
|
vcpkg_add_to_path(PREPEND ${MAKE_EXE_PATH})
|
|
endif()
|
|
|
|
if(VCPKG_TARGET_IS_WINDOWS)
|
|
vcpkg_find_acquire_program(NASM)
|
|
get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
|
|
vcpkg_add_to_path(PREPEND ${NASM_EXE_PATH})
|
|
endif()
|
|
|
|
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
|
FEATURES
|
|
tools QUIC_BUILD_TOOLS
|
|
)
|
|
|
|
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT)
|
|
|
|
vcpkg_cmake_configure(
|
|
SOURCE_PATH ${QUIC_SOURCE_PATH}
|
|
OPTIONS
|
|
${FEATURE_OPTIONS}
|
|
-DQUIC_SOURCE_LINK=OFF
|
|
-DQUIC_TLS=openssl
|
|
-DQUIC_TLS_SECRETS_SUPPORT=ON
|
|
-DQUIC_USE_SYSTEM_LIBCRYPTO=OFF
|
|
-DQUIC_BUILD_PERF=OFF
|
|
-DQUIC_BUILD_TEST=OFF
|
|
-DQUIC_STATIC_LINK_CRT=${STATIC_CRT}
|
|
-DQUIC_UWP_BUILD=${VCPKG_TARGET_IS_UWP}
|
|
)
|
|
|
|
vcpkg_cmake_build(TARGET OpenSSL_Build) # separate build log for quictls/openssl
|
|
vcpkg_cmake_install()
|
|
vcpkg_copy_pdbs()
|
|
vcpkg_cmake_config_fixup(PACKAGE_NAME msquic CONFIG_PATH lib/cmake/msquic)
|
|
|
|
if("tools" IN_LIST FEATURES)
|
|
vcpkg_copy_tools(TOOL_NAMES quicattack quicinterop quicinteropserver quicipclient quicipserver
|
|
quicpcp quicping quicpost quicreach quicsample spinquic
|
|
AUTO_CLEAN
|
|
)
|
|
endif()
|
|
|
|
file(INSTALL ${QUIC_SOURCE_PATH}/LICENSE
|
|
DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright
|
|
)
|
|
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share
|
|
${CURRENT_PACKAGES_DIR}/debug/include
|
|
)
|