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:
```cmake
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):
```bash
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.