# 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.

# Auto-generated by quic/facebook/generate_cmake.py - DO NOT EDIT MANUALLY

mvfst_add_library(mvfst_client_client
  SRCS
    QuicClientTransport.cpp
  DEPS
    mvfst_common_mvfst_logging
    mvfst_happyeyeballs
    mvfst_loss
    Folly::folly_string
  EXPORTED_DEPS
    mvfst_api_transport
    mvfst_client_client_lite
    mvfst_common_expected
)

mvfst_add_library(mvfst_client_client_lite
  SRCS
    QuicClientTransportLite.cpp
  DEPS
    mvfst_api_loop_detector_callback
    mvfst_api_transport_helpers
    mvfst_client_client_extension
    mvfst_common_mvfst_logging
    mvfst_common_string_utils
    mvfst_congestion_control_congestion_controller_factory
    mvfst_constants
    mvfst_fizz_client_handshake_token_cache
    mvfst_flowcontrol_flow_control
    mvfst_handshake
    mvfst_happyeyeballs
    mvfst_logging_qlogger_constants
    mvfst_logging_qlogger_macros
    mvfst_loss
    mvfst_state_ack_handler
    mvfst_state_datagram_handler
    mvfst_state_pacing_functions
    mvfst_state_simple_frame_functions
    mvfst_state_stream
    Folly::folly_portability_sockets
  EXPORTED_DEPS
    mvfst_api_transport_lite
    mvfst_client_state_and_handshake
    mvfst_common_buf_accessor
    mvfst_common_buf_util
    mvfst_common_expected
    mvfst_common_mvfst_check
    mvfst_common_udpsocket_quic_async_udp_socket
    mvfst_observer_socket_observer_macros
    mvfst_state_quic_connection_stats
    Folly::folly_io_socket_option_map
    Folly::folly_net_net_ops
    Folly::folly_random
)

mvfst_add_library(mvfst_client_state_and_handshake
  SRCS
    handshake/ClientHandshake.cpp
    state/ClientStateMachine.cpp
  DEPS
    mvfst_client_cached_server_tp
    mvfst_client_client_extension
    mvfst_codec_decode
    mvfst_codec_types
    mvfst_common_mvfst_logging
    mvfst_common_time_util
    mvfst_congestion_control_congestion_controller_factory
    mvfst_logging_qlogger_macros
    mvfst_loss
    mvfst_state_stream_functions
  EXPORTED_DEPS
    mvfst_common_expected
    mvfst_common_network_data
    mvfst_common_udpsocket_quic_async_udp_socket
    mvfst_congestion_control_cubic
    mvfst_constants
    mvfst_exception
    mvfst_flowcontrol_flow_control
    mvfst_handshake
    mvfst_handshake_aead
    mvfst_handshake_transport_parameters
    mvfst_state_quic_state_machine
    mvfst_state_state_functions
    fizz::fizz
    Folly::folly_exception_wrapper
    Folly::folly_io_async_delayed_destruction
)

mvfst_add_library(mvfst_client_client_extension
  EXPORTED_DEPS
    mvfst_common_expected
    mvfst_exception
    mvfst_handshake_transport_parameters
)

mvfst_add_library(mvfst_client_cached_server_tp
  EXPORTED_DEPS
    mvfst_constants
)

mvfst_add_library(mvfst_client_cached_server_tp_serialization
  SRCS
    handshake/CachedServerTransportParametersSerialization.cpp
  DEPS
    fizz::fizz
  EXPORTED_DEPS
    mvfst_client_cached_server_tp
    Folly::folly_io_iobuf
    Folly::folly_range
)

mvfst_add_library(mvfst_client_client_async_transport
  SRCS
    QuicClientAsyncTransport.cpp
  DEPS
    mvfst_common_mvfst_logging
    Folly::folly_debugging_symbolizer_symbolizer
  EXPORTED_DEPS
    mvfst_api_stream_async_transport
    mvfst_client_client
)

add_subdirectory(connector)

add_subdirectory(test)
