diff options
Diffstat (limited to 'vcpkg/ports/msquic')
| -rw-r--r-- | vcpkg/ports/msquic/avoid-w-invalid-unevaluated-string.patch | 69 | ||||
| -rw-r--r-- | vcpkg/ports/msquic/cmake4.patch | 12 | ||||
| -rw-r--r-- | vcpkg/ports/msquic/exports-for-msh3.diff | 56 | ||||
| -rw-r--r-- | vcpkg/ports/msquic/fix-comparing-system-processor-with-win32.patch | 22 | ||||
| -rw-r--r-- | vcpkg/ports/msquic/fix-install.patch | 24 | ||||
| -rw-r--r-- | vcpkg/ports/msquic/fix-uwp-crt.patch | 17 | ||||
| -rw-r--r-- | vcpkg/ports/msquic/no-werror.patch | 22 | ||||
| -rw-r--r-- | vcpkg/ports/msquic/portfile.cmake | 123 | ||||
| -rw-r--r-- | vcpkg/ports/msquic/uwp-link-libs.diff | 47 | ||||
| -rw-r--r-- | vcpkg/ports/msquic/vcpkg.json | 35 |
10 files changed, 427 insertions, 0 deletions
diff --git a/vcpkg/ports/msquic/avoid-w-invalid-unevaluated-string.patch b/vcpkg/ports/msquic/avoid-w-invalid-unevaluated-string.patch new file mode 100644 index 0000000..9ad0a24 --- /dev/null +++ b/vcpkg/ports/msquic/avoid-w-invalid-unevaluated-string.patch @@ -0,0 +1,69 @@ +diff --git a/src/core/mtu_discovery.c b/src/core/mtu_discovery.c +index a40c05c..8891efc 100644 +--- a/src/core/mtu_discovery.c ++++ b/src/core/mtu_discovery.c +@@ -34,8 +34,8 @@ Abstract: + #include "mtu_discovery.c.clog.h" + #endif + +-CXPLAT_STATIC_ASSERT(CXPLAT_MAX_MTU >= QUIC_DPLPMTUD_DEFAULT_MAX_MTU, L"Default max must not be more than max"); +-CXPLAT_STATIC_ASSERT(QUIC_DPLPMTUD_MIN_MTU <= QUIC_DPLPMTUD_DEFAULT_MIN_MTU, L"Default min must not be less than min"); ++CXPLAT_STATIC_ASSERT(CXPLAT_MAX_MTU >= QUIC_DPLPMTUD_DEFAULT_MAX_MTU, "Default max must not be more than max"); ++CXPLAT_STATIC_ASSERT(QUIC_DPLPMTUD_MIN_MTU <= QUIC_DPLPMTUD_DEFAULT_MIN_MTU, "Default min must not be less than min"); + + _IRQL_requires_max_(PASSIVE_LEVEL) + static +diff --git a/src/core/packet_builder.h b/src/core/packet_builder.h +index 97d6079..912ce89 100644 +--- a/src/core/packet_builder.h ++++ b/src/core/packet_builder.h +@@ -158,7 +158,7 @@ typedef struct QUIC_PACKET_BUILDER { + + CXPLAT_STATIC_ASSERT( + sizeof(QUIC_PACKET_BUILDER) < 1024, +- L"Packet builder should be small enough to fit on the stack."); ++ "Packet builder should be small enough to fit on the stack."); + + // + // Initializes the packet builder for general use. +diff --git a/src/core/quicdef.h b/src/core/quicdef.h +index 219ef33..07956b5 100644 +--- a/src/core/quicdef.h ++++ b/src/core/quicdef.h +@@ -240,10 +240,10 @@ typedef struct QUIC_RX_PACKET QUIC_RX_PACKET; + #define QUIC_MAX_RANGE_ACK_PACKETS 0x800 // 2048 + #define QUIC_MAX_RANGE_DECODE_ACKS 0x1000 // 4096 + +-CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_ALLOC_SIZE), L"Must be power of two"); +-CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_DUPLICATE_PACKETS), L"Must be power of two"); +-CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_ACK_PACKETS), L"Must be power of two"); +-CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_DECODE_ACKS), L"Must be power of two"); ++CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_ALLOC_SIZE), "Must be power of two"); ++CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_DUPLICATE_PACKETS), "Must be power of two"); ++CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_ACK_PACKETS), "Must be power of two"); ++CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_DECODE_ACKS), "Must be power of two"); + + // + // Minimum MTU allowed to be configured. Must be able to fit a +@@ -300,7 +300,7 @@ CXPLAT_STATIC_ASSERT(QUIC_INITIAL_PACKET_LENGTH >= QUIC_MIN_INITIAL_PACKET_LENGT + + CXPLAT_STATIC_ASSERT( + QUIC_DEFAULT_DISCONNECT_TIMEOUT <= QUIC_MAX_DISCONNECT_TIMEOUT, +- L"Default disconnect timeout should always be less than max"); ++ "Default disconnect timeout should always be less than max"); + + // + // The default connection idle timeout (in milliseconds). +diff --git a/src/core/range.h b/src/core/range.h +index b6d2cc0..ca6d3cd 100644 +--- a/src/core/range.h ++++ b/src/core/range.h +@@ -21,7 +21,7 @@ typedef struct QUIC_SUBRANGE { + + } QUIC_SUBRANGE; + +-CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(sizeof(QUIC_SUBRANGE)), L"Must be power of two"); ++CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(sizeof(QUIC_SUBRANGE)), "Must be power of two"); + + typedef struct QUIC_RANGE_SEARCH_KEY { + diff --git a/vcpkg/ports/msquic/cmake4.patch b/vcpkg/ports/msquic/cmake4.patch new file mode 100644 index 0000000..e495242 --- /dev/null +++ b/vcpkg/ports/msquic/cmake4.patch @@ -0,0 +1,12 @@ +diff --git a/submodules/CMakeLists.txt b/submodules/CMakeLists.txt +index b0f0e2d1ee..1fa98fa430 100644 +--- a/submodules/CMakeLists.txt ++++ b/submodules/CMakeLists.txt +@@ -257,7 +257,6 @@ else() + message(ERROR "WTF ${CX_PLATFORM} ${CMAKE_TARGET_ARCHITECTURE}") + set(OPENSSL_CONFIG_CMD ${CMAKE_CURRENT_SOURCE_DIR}/${QUIC_OPENSSL}/config) + endif() +- list(APPEND OPENSSL_CONFIG_FLAGS -isysroot ${CMAKE_OSX_SYSROOT}) + if(SDK_NAME) + list(APPEND OPENSSL_CONFIG_FLAGS "-m${SDK_NAME}-version-min=${DEPLOYMENT_TARGET}") + elseif(CMAKE_OSX_DEPLOYMENT_TARGET) diff --git a/vcpkg/ports/msquic/exports-for-msh3.diff b/vcpkg/ports/msquic/exports-for-msh3.diff new file mode 100644 index 0000000..2daf4bc --- /dev/null +++ b/vcpkg/ports/msquic/exports-for-msh3.diff @@ -0,0 +1,56 @@ +diff --git a/src/bin/darwin/exports.txt b/src/bin/darwin/exports.txt +index e90b06e..c221d2c 100644 +--- a/src/bin/darwin/exports.txt ++++ b/src/bin/darwin/exports.txt +@@ -1,2 +1,6 @@ + _MsQuicOpenVersion + _MsQuicClose ++_CxPlatGetSelfSignedCert ++_CxPlatFreeSelfSignedCert ++_CxPlatLogAssert ++_quic_bugcheck +diff --git a/src/bin/linux/exports.txt b/src/bin/linux/exports.txt +index e11806a..424c443 100644 +--- a/src/bin/linux/exports.txt ++++ b/src/bin/linux/exports.txt +@@ -1,5 +1,9 @@ + msquic + { + global: MsQuicOpenVersion; MsQuicClose; ++ CxPlatGetSelfSignedCert; ++ CxPlatFreeSelfSignedCert; ++ CxPlatLogAssert; ++ quic_bugcheck; + local: *; + }; +diff --git a/src/bin/linux/init.c b/src/bin/linux/init.c +index 29bfa14..61bbc48 100644 +--- a/src/bin/linux/init.c ++++ b/src/bin/linux/init.c +@@ -9,8 +9,15 @@ Abstract: + + --*/ + ++#define QUIC_TEST_APIS 1 + #include "quic_platform.h" + ++void MsQuickChainLoadPlatformSymbolsNoOp() ++{ ++ QUIC_CREDENTIAL_CONFIG* SelfSignedCertParams = (QUIC_CREDENTIAL_CONFIG*)CxPlatGetSelfSignedCert(CXPLAT_SELF_SIGN_CERT_USER, FALSE, NULL); ++ CxPlatFreeSelfSignedCert(SelfSignedCertParams); ++} ++ + void + MsQuicLibraryLoad( + void +diff --git a/src/bin/winuser/msquic.def.in b/src/bin/winuser/msquic.def.in +index afaed5d..fa7d19a 100644 +--- a/src/bin/winuser/msquic.def.in ++++ b/src/bin/winuser/msquic.def.in +@@ -3,3 +3,6 @@ LIBRARY @QUIC_LIBRARY_NAME@ + EXPORTS + MsQuicOpenVersion + MsQuicClose ++ CxPlatGetSelfSignedCert ++ CxPlatFreeSelfSignedCert ++ CxPlatLogAssert diff --git a/vcpkg/ports/msquic/fix-comparing-system-processor-with-win32.patch b/vcpkg/ports/msquic/fix-comparing-system-processor-with-win32.patch new file mode 100644 index 0000000..3f4f12e --- /dev/null +++ b/vcpkg/ports/msquic/fix-comparing-system-processor-with-win32.patch @@ -0,0 +1,22 @@ +diff --git a/submodules/CMakeLists.txt b/submodules/CMakeLists.txt +index a6c592951..0a0ddf0f8 100644 +--- a/submodules/CMakeLists.txt ++++ b/submodules/CMakeLists.txt +@@ -62,7 +62,7 @@ if (WIN32) + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64-ARM") + elseif (${SYSTEM_PROCESSOR} STREQUAL "arm") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ARM") +- elseif (${SYSTEM_PROCESSOR} STREQUAL "win32") ++ elseif (${SYSTEM_PROCESSOR} STREQUAL "x86") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ONECORE") + elseif (${SYSTEM_PROCESSOR} STREQUAL "x64" OR ${SYSTEM_PROCESSOR} STREQUAL "amd64") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64A-ONECORE") +@@ -75,7 +75,7 @@ if (WIN32) + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64-ARM") + elseif (${SYSTEM_PROCESSOR} STREQUAL "arm") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ARM") +- elseif (${SYSTEM_PROCESSOR} STREQUAL "win32") ++ elseif (${SYSTEM_PROCESSOR} STREQUAL "x86") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32") + elseif (${SYSTEM_PROCESSOR} STREQUAL "x64" OR ${SYSTEM_PROCESSOR} STREQUAL "amd64") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64A") diff --git a/vcpkg/ports/msquic/fix-install.patch b/vcpkg/ports/msquic/fix-install.patch new file mode 100644 index 0000000..9ffb36f --- /dev/null +++ b/vcpkg/ports/msquic/fix-install.patch @@ -0,0 +1,24 @@ +diff --git a/src/bin/CMakeLists.txt b/src/bin/CMakeLists.txt +index 18048e3..4fcd161 100644 +--- a/src/bin/CMakeLists.txt ++++ b/src/bin/CMakeLists.txt +@@ -11,6 +11,7 @@ endif() + + if(BUILD_SHARED_LIBS) + add_library(msquic SHARED ${SOURCES}) ++ target_include_directories(msquic PUBLIC $<INSTALL_INTERFACE:include>) + target_link_libraries(msquic PRIVATE core msquic_platform inc warnings logging base_link main_binary_link_args) + set_target_properties(msquic PROPERTIES OUTPUT_NAME ${QUIC_LIBRARY_NAME}) + if (NOT WIN32) +@@ -261,7 +262,10 @@ if(WIN32) + endif() + + if(BUILD_SHARED_LIBS) +- install(TARGETS msquic msquic_platform inc logging_inc warnings main_binary_link_args ${OTHER_TARGETS} EXPORT msquic DESTINATION lib) ++ install(TARGETS msquic EXPORT msquic ++ RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib) + else() + install(FILES ${QUIC_STATIC_LIBRARY} DESTINATION lib) + endif() diff --git a/vcpkg/ports/msquic/fix-uwp-crt.patch b/vcpkg/ports/msquic/fix-uwp-crt.patch new file mode 100644 index 0000000..1eb3f74 --- /dev/null +++ b/vcpkg/ports/msquic/fix-uwp-crt.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3f8f4d58f..df689627c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -598,9 +598,9 @@ if(WIN32) + endif() + + if (NOT QUIC_STATIC_LINK_CRT AND NOT QUIC_STATIC_LINK_PARTIAL_CRT) +- # We are using dynamic linking. Ensure that only the release version of CRT is used. +- message(STATUS "Configuring for release version of dynamically linked CRT") +- set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDLL") ++ # We are using dynamic linking. Ensure that only the dynamic CRT is used. ++ message(STATUS "Configuring for dynamically linked CRT") ++ set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL") + endif() + + else() #!WIN32 diff --git a/vcpkg/ports/msquic/no-werror.patch b/vcpkg/ports/msquic/no-werror.patch new file mode 100644 index 0000000..1c2cec2 --- /dev/null +++ b/vcpkg/ports/msquic/no-werror.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1010458..cc7ac39 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -201,7 +201,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${QUIC_OUTPUT_DIR}) + set(QUIC_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/inc) + + if (WIN32) +- set(QUIC_WARNING_FLAGS /WX /W4 /sdl /wd4206 CACHE INTERNAL "") ++ set(QUIC_WARNING_FLAGS /W4 /sdl /wd4206 CACHE INTERNAL "") + set(QUIC_COMMON_FLAGS "") + + include(CheckCCompilerFlag) +@@ -305,7 +305,7 @@ else() + if (HAS_SYSCTL) + list(APPEND QUIC_COMMON_DEFINES HAS_SYSCTL) + endif() +- set(QUIC_WARNING_FLAGS -Werror -Wall -Wextra -Wformat=2 -Wno-type-limits ++ set(QUIC_WARNING_FLAGS -Wall -Wextra -Wformat=2 -Wno-type-limits + -Wno-unknown-pragmas -Wno-multichar -Wno-missing-field-initializers + CACHE INTERNAL "") + if (CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0) diff --git a/vcpkg/ports/msquic/portfile.cmake b/vcpkg/ports/msquic/portfile.cmake new file mode 100644 index 0000000..a4b8926 --- /dev/null +++ b/vcpkg/ports/msquic/portfile.cmake @@ -0,0 +1,123 @@ +# Upstream supports static linkage, but the port doesn't: +# - There is a vendored fork of OpenSSL, needed for QUIC. +# - Exported config needs fixes. +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH QUIC_SOURCE_PATH + REPO microsoft/msquic + REF "v${VERSION}" + SHA512 1dca477f62484988c4f74d80a671560a48e8ed60602189a4066f337b13786528f38a86437881538089bf47b5db3d228cb006cae298f27b574850612181ee00d9 + HEAD_REF master + PATCHES + fix-install.patch # Adjust install path of build outputs + fix-uwp-crt.patch # https://github.com/microsoft/msquic/pull/4373 + fix-comparing-system-processor-with-win32.patch # https://github.com/microsoft/msquic/pull/4374 + uwp-link-libs.diff + exports-for-msh3.diff + no-werror.patch + avoid-w-invalid-unevaluated-string.patch + cmake4.patch +) + +set(QUIC_TLS "schannel") +if("0-rtt" IN_LIST FEATURES) + set(QUIC_TLS "openssl3") + vcpkg_from_github( + OUT_SOURCE_PATH OPENSSL_SOURCE_PATH + REPO quictls/openssl + REF openssl-3.1.7-quic1 + SHA512 230f48a4ef20bfd492b512bd53816a7129d70849afc1426e9ce813273c01884d5474552ecaede05231ca354403f25e2325c972c9c7950ae66dae310800bd19e7 + HEAD_REF openssl-3.1.7+quic + ) + if(NOT EXISTS "${QUIC_SOURCE_PATH}/submodules/openssl3/Configure") + file(REMOVE_RECURSE "${QUIC_SOURCE_PATH}/submodules/openssl3") + file(RENAME "${OPENSSL_SOURCE_PATH}" "${QUIC_SOURCE_PATH}/submodules/openssl3") + endif() +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH XDP_WINDOWS + REPO microsoft/xdp-for-windows + REF v1.0.2 + SHA512 1b26487fa79c8796d4b0d5e09f4fc9acb003d8e079189ec57a36ff03c9c2620829106fdbc4780e298872826f3a97f034d40e04d00a77ded97122874d13bfb145 + HEAD_REF main +) +if(NOT EXISTS "${QUIC_SOURCE_PATH}/submodules/xdp-for-windows/published/external") + # headers only + file(REMOVE_RECURSE "${QUIC_SOURCE_PATH}/submodules/xdp-for-windows") + file(COPY "${XDP_WINDOWS}/published/external" DESTINATION "${QUIC_SOURCE_PATH}/submodules/xdp-for-windows/published") +endif() + +vcpkg_find_acquire_program(PERL) +get_filename_component(PERL_EXE_PATH "${PERL}" DIRECTORY) +vcpkg_add_to_path("${PERL_EXE_PATH}") + +if(VCPKG_HOST_IS_WINDOWS) + vcpkg_find_acquire_program(JOM) + cmake_path(GET JOM PARENT_PATH jom_dir) + vcpkg_add_to_path("${jom_dir}") +else() + find_program(MAKE make) + cmake_path(GET MAKE PARENT_PATH make_dir) + vcpkg_add_to_path("${make_dir}") +endif() + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_find_acquire_program(NASM) + cmake_path(GET NASM PARENT_PATH nasm_dir) + vcpkg_add_to_path("${nasm_dir}") +endif() + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" QUIC_BUILD_SHARED) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT) + +vcpkg_cmake_configure( + SOURCE_PATH "${QUIC_SOURCE_PATH}" + OPTIONS + -DQUIC_SOURCE_LINK=OFF + -DQUIC_TLS=${QUIC_TLS} + -DQUIC_USE_SYSTEM_LIBCRYPTO=OFF + -DQUIC_BUILD_PERF=OFF + -DQUIC_BUILD_TEST=OFF + "-DQUIC_BUILD_SHARED=${QUIC_BUILD_SHARED}" + "-DQUIC_STATIC_LINK_CRT=${STATIC_CRT}" + "-DQUIC_STATIC_LINK_PARTIAL_CRT=${STATIC_CRT}" + "-DQUIC_UWP_BUILD=${VCPKG_TARGET_IS_UWP}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +vcpkg_copy_pdbs() + +set(platform "") +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + set(platform "CX_PLATFORM_DARWIN") +elseif(NOT VCPKG_TARGET_IS_WINDOWS) + set(platform "CX_PLATFORM_LINUX") +endif() +if(platform) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quic_platform.h" + "#elif ${platform}" + "#elif 1 +#ifndef ${platform} +#define ${platform} +#endif") +elseif(VCPKG_TARGET_IS_UWP) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quic_platform.h" + "#elif _WIN32" + "#elif 1 +#ifndef QUIC_UWP_BUILD +#define QUIC_UWP_BUILD +#endif +#ifndef QUIC_RESTRICTED_BUILD +#define QUIC_RESTRICTED_BUILD +#endif") +endif() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +vcpkg_install_copyright(FILE_LIST "${QUIC_SOURCE_PATH}/LICENSE" "${QUIC_SOURCE_PATH}/THIRD-PARTY-NOTICES") diff --git a/vcpkg/ports/msquic/uwp-link-libs.diff b/vcpkg/ports/msquic/uwp-link-libs.diff new file mode 100644 index 0000000..3dc6892 --- /dev/null +++ b/vcpkg/ports/msquic/uwp-link-libs.diff @@ -0,0 +1,47 @@ +diff --git a/src/inc/CMakeLists.txt b/src/inc/CMakeLists.txt +index 48edebd..0a59ee6 100644 +--- a/src/inc/CMakeLists.txt ++++ b/src/inc/CMakeLists.txt +@@ -40,7 +40,7 @@ endif() + + if(WIN32) + if(QUIC_UWP_BUILD) +- target_link_libraries(base_link INTERFACE OneCore ws2_32 ntdll) ++ target_link_libraries(base_link INTERFACE OneCoreUap ws2_32 ntdll) + elseif(QUIC_GAMECORE_BUILD) + target_link_libraries(base_link INTERFACE ntdll advapi32) + if(NOT QUIC_EXTERNAL_TOOLCHAIN) +diff --git a/src/platform/CMakeLists.txt b/src/platform/CMakeLists.txt +index 4a573ae..6fb5887 100644 +--- a/src/platform/CMakeLists.txt ++++ b/src/platform/CMakeLists.txt +@@ -60,7 +60,9 @@ if("${CX_PLATFORM}" STREQUAL "windows") + msquic_platform + PUBLIC + wbemuuid) ++ if(NOT QUIC_UWP_BUILD) + target_link_libraries(msquic_platform PUBLIC winmm) ++ endif() + elseif(QUIC_LINUX_XDP_ENABLED) + find_library(NL_LIB nl-3) + find_library(NL_ROUTE_LIB nl-route-3) +diff --git a/submodules/CMakeLists.txt b/submodules/CMakeLists.txt +index 4bf8117..4468b19 100644 +--- a/submodules/CMakeLists.txt ++++ b/submodules/CMakeLists.txt +@@ -59,13 +59,13 @@ if (WIN32) + if (QUIC_UWP_BUILD) + # Translate target architecture into corresponding OpenSSL build flag + if (${SYSTEM_PROCESSOR} STREQUAL "arm64") +- set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64-ARM") ++ set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64-ARM-UWP") + elseif (${SYSTEM_PROCESSOR} STREQUAL "arm") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ARM") + elseif (${SYSTEM_PROCESSOR} STREQUAL "x86") + set(QUIC_OPENSSL_WIN_ARCH "VC-WIN32-ONECORE") + elseif (${SYSTEM_PROCESSOR} STREQUAL "x64" OR ${SYSTEM_PROCESSOR} STREQUAL "amd64") +- set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64A-ONECORE") ++ set(QUIC_OPENSSL_WIN_ARCH "VC-WIN64A-UWP") + else() + message(FATAL_ERROR "Unknown Generator Platform ${SYSTEM_PROCESSOR}") + endif() diff --git a/vcpkg/ports/msquic/vcpkg.json b/vcpkg/ports/msquic/vcpkg.json new file mode 100644 index 0000000..c9ba094 --- /dev/null +++ b/vcpkg/ports/msquic/vcpkg.json @@ -0,0 +1,35 @@ +{ + "name": "msquic", + "version": "2.4.8", + "port-version": 1, + "description": "Cross-platform, C implementation of the IETF QUIC protocol", + "homepage": "https://github.com/microsoft/msquic", + "license": "MIT", + "supports": "!mingw & !(static & staticcrt)", + "dependencies": [ + { + "name": "msquic", + "features": [ + "0-rtt" + ], + "platform": "!windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "0-rtt": { + "description": [ + "Enable 0-RTT connection support.", + "This feature requires the use of (a fork of) OpenSSL 3 also on Windows." + ], + "license": "Apache-2.0" + } + } +} |