Add -DCMAKE_TOOLCHAIN_FILE=K:\Dev\Tools\vcpkg\scripts\buildsystems\vcpkg.cmake
to cmake command line to use vcpkg
toolchain file.
This is only necessary in debug mode:
Modify the VCPKG port of crypto++ and cli11 add the following to the
<vcpkg install dir>\ports\<cryptopp|cli11>\portfile.cmake
file before the configure
command:
if (MSVC)
set(VCPKG_CXX_FLAGS_DEBUG "/fsanitize=address /fsanitize=fuzzer")
set(VCPKG_C_FLAGS_DEBUG "/fsanitize=address /fsanitize=fuzzer")
set(VCPKG_LINKER_FLAGS_DEBUG "/fsanitize=address /fsanitize=fuzzer")
else ()
set(VCPKG_CXX_FLAGS_DEBUG -fsanitize=address)
set(VCPKG_C_FLAGS_DEBUG -fsanitize=address)
set(VCPKG_LINKER_FLAGS_DEBUG -fsanitize=address)
endif ()
An overlay can be created but I don't want to maintain adding the overlay to the vcpkg toolchain file and keeping it up to date with the vcpkg toolchain file.
Generate a certificate using the following command (for testing purposes only):
openssl req -new -newkey rsa:2048 -days 1 -nodes -x509 -keyout key.pem -out cert.pem -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com"
Notes
Someone decided to migrate MSQuic's vcpkg to schannel instead of using OpenSSL (which is exclusive to windows). This means that certificates are not supported, which is a problem. Which is why the 0-RTT feature is enabled by in vcpkg.json, not because we need or want it.
Initially, Glaze was intended for parsing session info, but it caused issues with the MSVC compiler. Instead, we're using simdjson.