Vendor MsQuic with build and install support, add DeviceManager status to configurable heartbeats, and report only enabled devices. Add the local QUIC gateway, protocol coverage, real MsQuic E2E tests, process smoke tests, and updated integration documentation.
54 lines
1.8 KiB
CMake
54 lines
1.8 KiB
CMake
get_property(_cmvr_quic_test_library_dirs DIRECTORY PROPERTY LINK_DIRECTORIES)
|
|
list(PREPEND _cmvr_quic_test_library_dirs
|
|
"${CMAKE_BINARY_DIR}"
|
|
"${CMAKE_BINARY_DIR}/cmvr_compiler_runtime")
|
|
list(REMOVE_DUPLICATES _cmvr_quic_test_library_dirs)
|
|
list(JOIN _cmvr_quic_test_library_dirs ":" CMVR_QUIC_TEST_LIBRARY_PATH)
|
|
|
|
add_subdirectory(quic_gateway)
|
|
|
|
if(NOT BUILD_TESTING)
|
|
return()
|
|
endif()
|
|
|
|
find_program(CMVR_OPENSSL_EXECUTABLE NAMES openssl)
|
|
if(NOT CMVR_OPENSSL_EXECUTABLE)
|
|
message(WARNING
|
|
"The openssl command was not found; QUIC loopback integration "
|
|
"tests that require a temporary TLS certificate are skipped")
|
|
return()
|
|
endif()
|
|
|
|
set(CMVR_QUIC_TEST_CERTIFICATE_DIR
|
|
"${CMAKE_CURRENT_BINARY_DIR}/certs")
|
|
set(CMVR_QUIC_TEST_CERTIFICATE
|
|
"${CMVR_QUIC_TEST_CERTIFICATE_DIR}/server.crt")
|
|
set(CMVR_QUIC_TEST_PRIVATE_KEY
|
|
"${CMVR_QUIC_TEST_CERTIFICATE_DIR}/server.key")
|
|
|
|
add_custom_command(
|
|
OUTPUT
|
|
"${CMVR_QUIC_TEST_CERTIFICATE}"
|
|
"${CMVR_QUIC_TEST_PRIVATE_KEY}"
|
|
COMMAND "${CMAKE_COMMAND}" -E make_directory
|
|
"${CMVR_QUIC_TEST_CERTIFICATE_DIR}"
|
|
COMMAND "${CMVR_OPENSSL_EXECUTABLE}" req
|
|
-x509
|
|
-newkey rsa:2048
|
|
-nodes
|
|
-keyout "${CMVR_QUIC_TEST_PRIVATE_KEY}"
|
|
-out "${CMVR_QUIC_TEST_CERTIFICATE}"
|
|
-days 7
|
|
-subj "/CN=127.0.0.1"
|
|
-addext "subjectAltName=IP:127.0.0.1"
|
|
VERBATIM
|
|
COMMENT "Generating a development-only loopback QUIC certificate")
|
|
add_custom_target(cmvr_quic_test_certificate
|
|
DEPENDS
|
|
"${CMVR_QUIC_TEST_CERTIFICATE}"
|
|
"${CMVR_QUIC_TEST_PRIVATE_KEY}")
|
|
|
|
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/e2e/CMakeLists.txt")
|
|
add_subdirectory(e2e)
|
|
endif()
|