# 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_codec_types
  SRCS
    DefaultConnectionIdAlgo.cpp
    QuicConnectionId.cpp
    QuicInteger.cpp
    Types.cpp
  DEPS
    mvfst_common_string_utils
    Folly::folly_random
  EXPORTED_DEPS
    mvfst_codec_packet_number
    mvfst_common_buf_util
    mvfst_common_circular_deque
    mvfst_common_contiguous_cursor
    mvfst_common_expected
    mvfst_common_interval_set
    mvfst_common_mvfst_logging
    mvfst_common_network_data
    mvfst_common_optional
    mvfst_common_variant
    mvfst_config
    mvfst_constants
    mvfst_exception
    mvfst_folly_utils
    Folly::folly_io_iobuf
    Folly::folly_lang_bits
    Folly::folly_network_address
)

mvfst_add_library(mvfst_codec_packet_number
  SRCS
    PacketNumber.cpp
  DEPS
    mvfst_common_mvfst_logging
    mvfst_constants
    ${GLOG_LIBRARIES}
)

mvfst_add_library(mvfst_codec_packet_number_cipher
  SRCS
    PacketNumberCipher.cpp
  DEPS
    mvfst_codec_decode
    mvfst_codec_types
    mvfst_common_mvfst_logging
    mvfst_logging_oops_logger
  EXPORTED_DEPS
    mvfst_common_buf_util
    mvfst_common_expected
    mvfst_common_optional
    mvfst_constants
    mvfst_exception
    Folly::folly_unit
)

mvfst_add_library(mvfst_codec_decode
  SRCS
    Decode.cpp
  DEPS
    mvfst_common_mvfst_logging
    mvfst_exception
    mvfst_logging_oops_logger
  EXPORTED_DEPS
    mvfst_codec_packet_number
    mvfst_codec_types
    mvfst_common_contiguous_cursor
    mvfst_common_expected
    mvfst_constants
    mvfst_state_transport_settings
)

mvfst_add_library(mvfst_codec_pktbuilder
  SRCS
    QuicPacketBuilder.cpp
  DEPS
    Folly::folly_io_iobuf
    Folly::folly_random
  EXPORTED_DEPS
    mvfst_codec_packet_number
    mvfst_codec_types
    mvfst_common_buf_accessor
    mvfst_common_buf_util
    mvfst_common_mvfst_logging
    mvfst_handshake
    Folly::folly_portability
)

mvfst_add_library(mvfst_codec_pktrebuilder
  SRCS
    QuicPacketRebuilder.cpp
  DEPS
    mvfst_api_ack_scheduler
    mvfst_codec
    mvfst_common_mvfst_logging
    mvfst_flowcontrol_flow_control
    mvfst_logging_oops_logger
    mvfst_state_connection_oops_fields
    mvfst_state_simple_frame_functions
    mvfst_state_state_functions
    mvfst_state_stream_functions
  EXPORTED_DEPS
    mvfst_codec_pktbuilder
    mvfst_state_quic_state_machine
)

mvfst_add_library(mvfst_codec_header_codec
  SRCS
    QuicHeaderCodec.cpp
  DEPS
    mvfst_codec_decode
    mvfst_common_mvfst_logging
  EXPORTED_DEPS
    mvfst_codec_packet_number
    mvfst_codec_types
    mvfst_common_optional
)

mvfst_add_library(mvfst_codec
  SRCS
    QuicReadCodec.cpp
    QuicWriteCodec.cpp
  DEPS
    mvfst_common_mvfst_logging
    mvfst_common_string_utils
    mvfst_exception
    mvfst_logging_oops_logger
  EXPORTED_DEPS
    mvfst_codec_decode
    mvfst_codec_packet_number
    mvfst_codec_packet_number_cipher
    mvfst_codec_pktbuilder
    mvfst_codec_types
    mvfst_common_buf_util
    mvfst_common_circular_deque
    mvfst_common_contiguous_cursor
    mvfst_common_interval_set
    mvfst_common_optional
    mvfst_constants
    mvfst_handshake_aead
    mvfst_state_ack_states
    mvfst_state_stats_callback
    mvfst_state_transport_settings
)

add_subdirectory(test)
