1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-04-18 17:24:03 +03:00
mvfst/quic/server/CMakeLists.txt
Konstantin Tsoy adf16f9a07 Remove libccp from mvfst
Summary: We don't use it, and the OSS lib hasn't been updated in a while.

Reviewed By: mjoras

Differential Revision: D46707559

fbshipit-source-id: ec102a52183a736cfb1c0241600816a837062108
2023-06-15 18:17:53 -07:00

206 lines
4.2 KiB
CMake

# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
add_library(
mvfst_server_state STATIC
handshake/AppToken.cpp
handshake/ServerHandshake.cpp
handshake/StatelessResetGenerator.cpp
handshake/TokenGenerator.cpp
state/ServerStateMachine.cpp)
target_include_directories(
mvfst_server_state PUBLIC
$<BUILD_INTERFACE:${QUIC_FBCODE_ROOT}>
$<BUILD_INTERFACE:${LIBFIZZ_INCLUDE_DIR}>
$<INSTALL_INTERFACE:include/>
)
target_compile_options(
mvfst_server_state
PRIVATE
${_QUIC_COMMON_COMPILE_OPTIONS}
)
add_dependencies(
mvfst_server_state
mvfst_buf_accessor
mvfst_cc_algo
mvfst_constants
mvfst_codec
mvfst_codec_types
mvfst_dsr_frontend
mvfst_fizz_handshake
mvfst_qlogger
mvfst_state_ack_handler
)
add_library(
mvfst_server STATIC
QuicServer.cpp
QuicServerBackend.cpp
QuicServerPacketRouter.cpp
QuicServerTransport.cpp
QuicServerWorker.cpp
SlidingWindowRateLimiter.cpp
handshake/DefaultAppTokenValidator.cpp
handshake/TokenGenerator.cpp
# Fizz specific parts, will be split in its own lib eventually.
../fizz/server/handshake/AppToken.cpp
../fizz/server/handshake/FizzServerQuicHandshakeContext.cpp
../fizz/server/handshake/FizzServerHandshake.cpp
)
target_include_directories(
mvfst_server PUBLIC
$<BUILD_INTERFACE:${QUIC_FBCODE_ROOT}>
$<BUILD_INTERFACE:${LIBFIZZ_INCLUDE_DIR}>
$<INSTALL_INTERFACE:include/>
)
target_compile_options(
mvfst_server
PRIVATE
${_QUIC_COMMON_COMPILE_OPTIONS}
)
add_dependencies(
mvfst_server
mvfst_buf_accessor
mvfst_cc_algo
mvfst_constants
mvfst_codec
mvfst_codec_types
mvfst_dsr_frontend
mvfst_fizz_handshake
mvfst_qlogger
mvfst_server_state
mvfst_state_ack_handler
mvfst_state_datagram_handler
mvfst_transport
mvfst_transport_knobs
)
add_library(
mvfst_server_async_tran STATIC
async_tran/QuicAsyncTransportAcceptor.cpp
async_tran/QuicAsyncTransportServer.cpp
async_tran/QuicServerAsyncTransport.cpp
)
target_include_directories(
mvfst_server_async_tran PUBLIC
$<BUILD_INTERFACE:${QUIC_FBCODE_ROOT}>
$<BUILD_INTERFACE:${LIBFIZZ_INCLUDE_DIR}>
$<INSTALL_INTERFACE:include/>
)
target_compile_options(
mvfst_server_async_tran
PRIVATE
${_QUIC_COMMON_COMPILE_OPTIONS}
)
add_dependencies(
mvfst_server_async_tran
mvfst_buf_accessor
mvfst_cc_algo
mvfst_constants
mvfst_codec
mvfst_codec_types
mvfst_dsr_frontend
mvfst_fizz_handshake
mvfst_qlogger
mvfst_state_ack_handler
)
target_link_libraries(
mvfst_server_state PUBLIC
Folly::folly
${LIBFIZZ_LIBRARY}
mvfst_buf_accessor
mvfst_constants
mvfst_codec
mvfst_codec_types
mvfst_dsr_frontend
mvfst_fizz_handshake
mvfst_qlogger
mvfst_state_ack_handler
mvfst_transport
mvfst_transport_knobs
)
target_link_libraries(
mvfst_server PUBLIC
Folly::folly
${LIBFIZZ_LIBRARY}
mvfst_buf_accessor
mvfst_constants
mvfst_codec
mvfst_codec_types
mvfst_dsr_frontend
mvfst_fizz_handshake
mvfst_qlogger
mvfst_server_state
mvfst_state_ack_handler
mvfst_state_datagram_handler
mvfst_transport
mvfst_transport_knobs
)
target_link_libraries(
mvfst_server_async_tran PUBLIC
Folly::folly
${LIBFIZZ_LIBRARY}
mvfst_buf_accessor
mvfst_constants
mvfst_codec
mvfst_codec_types
mvfst_dsr_frontend
mvfst_fizz_handshake
mvfst_qlogger
mvfst_server_state
mvfst_state_ack_handler
mvfst_state_datagram_handler
mvfst_transport
mvfst_transport_knobs
${LIBCCP_LIBRARY}
${LIBSTARTCCP_LIBRARY}
)
file(
GLOB_RECURSE QUIC_API_HEADERS_TOINSTALL
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
*.h
)
list(FILTER QUIC_API_HEADERS_TOINSTALL EXCLUDE REGEX test/)
foreach(header ${QUIC_API_HEADERS_TOINSTALL})
get_filename_component(header_dir ${header} DIRECTORY)
install(FILES ${header} DESTINATION include/quic/server/${header_dir})
endforeach()
install(
TARGETS mvfst_server
EXPORT mvfst-exports
DESTINATION lib
)
install(
TARGETS mvfst_server_state
EXPORT mvfst-exports
DESTINATION lib
)
install(
TARGETS mvfst_server_async_tran
EXPORT mvfst-exports
DESTINATION lib
)
add_subdirectory(test)
add_subdirectory(handshake/test)