cmvr-es/test/quic_gateway/CMakeLists.txt

76 lines
2.5 KiB
CMake
Raw Normal View History

if(NOT TARGET cmvr_es::proto)
message(FATAL_ERROR "cmvr_quic_test_gateway requires cmvr_es::proto")
endif()
if(NOT TARGET cmvr_es::quic_edge_service)
message(FATAL_ERROR
"cmvr_quic_test_gateway requires cmvr_es::quic_edge_service")
endif()
find_package(Threads REQUIRED)
add_library(cmvr_quic_test_gateway_lib STATIC
src/quic_test_gateway.cpp
src/media_reassembler.cpp
)
add_library(cmvr_es::quic_test_gateway ALIAS cmvr_quic_test_gateway_lib)
target_compile_features(cmvr_quic_test_gateway_lib PUBLIC cxx_std_17)
target_include_directories(cmvr_quic_test_gateway_lib
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
PRIVATE
${PROJECT_SOURCE_DIR}/cmvr-es
)
target_link_libraries(cmvr_quic_test_gateway_lib
PUBLIC
2026-07-27 17:47:30 +08:00
msquic
cmvr_es::proto
cmvr_es::quic_edge_service
Threads::Threads
)
add_executable(cmvr_quic_test_gateway src/main.cpp)
target_compile_features(cmvr_quic_test_gateway PRIVATE cxx_std_17)
target_link_libraries(cmvr_quic_test_gateway
PRIVATE cmvr_es::quic_test_gateway)
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/run_gateway.sh.in"
"${CMAKE_CURRENT_BINARY_DIR}/run_cmvr_quic_test_gateway"
@ONLY)
file(CHMOD "${CMAKE_CURRENT_BINARY_DIR}/run_cmvr_quic_test_gateway"
PERMISSIONS
OWNER_READ OWNER_WRITE OWNER_EXECUTE
GROUP_READ GROUP_EXECUTE
WORLD_READ WORLD_EXECUTE)
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
target_compile_options(cmvr_quic_test_gateway_lib
PRIVATE -Wall -Wextra -Wpedantic)
target_compile_options(cmvr_quic_test_gateway
PRIVATE -Wall -Wextra -Wpedantic)
endif()
if(BUILD_TESTING)
add_executable(cmvr_quic_media_reassembler_test
tests/media_reassembler_test.cpp)
target_compile_features(cmvr_quic_media_reassembler_test PRIVATE cxx_std_17)
target_link_libraries(cmvr_quic_media_reassembler_test
PRIVATE cmvr_es::quic_test_gateway)
add_test(
NAME cmvr_quic_media_reassembler_test
COMMAND cmvr_quic_media_reassembler_test)
set_tests_properties(cmvr_quic_media_reassembler_test
PROPERTIES
LABELS "quic;unit"
TIMEOUT 10
ENVIRONMENT
"LD_LIBRARY_PATH=${CMVR_QUIC_TEST_LIBRARY_PATH}")
endif()
option(CMVR_INSTALL_QUIC_TEST_GATEWAY
"Install the development-only QUIC test gateway into output/bin"
OFF)
if(CMVR_INSTALL_QUIC_TEST_GATEWAY)
install(TARGETS cmvr_quic_test_gateway RUNTIME DESTINATION bin)
endif()