# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.

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

proxygen_add_library(proxygen_dns_dns_base
  SRCS
    DNSResolver.cpp
    NaiveResolutionCallback.cpp
  DEPS
    Folly::folly_conv
    glog::glog
  EXPORTED_DEPS
    proxygen_utils_trace
    Folly::folly_exception_wrapper
    Folly::folly_io_async_async_base
    Folly::folly_io_async_delayed_destruction
    Folly::folly_io_iobuf
    Folly::folly_network_address
)

proxygen_add_library(proxygen_dns_sync_resolver
  SRCS
    SyncDNSResolver.cpp
  DEPS
    proxygen_dns_dns_module
    proxygen_dns_rfc6724
  EXPORTED_DEPS
    proxygen_dns_dns_base
)

proxygen_add_library(proxygen_dns_rfc6724
  SRCS
    Rfc6724.cpp
  DEPS
    Folly::folly_portability_unistd
    Folly::folly_portability_windows
  EXPORTED_DEPS
    Folly::folly_network_address
)

proxygen_add_library(proxygen_dns
  SRCS
    CachingDNSResolver.cpp
  DEPS
    Folly::folly_random
  EXPORTED_DEPS
    proxygen_dns_dns_base
    proxygen_utils_time_util
    Folly::folly_container_evicting_cache_map
    Folly::folly_container_f14_hash
)

proxygen_add_library(proxygen_dns_cares_dns
  SRCS
    CAresResolver.cpp
  DEPS
    proxygen_utils_time_util
    Folly::folly_conv
    Folly::folly_portability_sockets
    cares
    glog::glog
  EXPORTED_DEPS
    proxygen_dns_dns_base
    Folly::folly_expected
    Folly::folly_io_async_async_base
    Folly::folly_network_address
    Folly::folly_portability_windows
    cares
)

proxygen_add_library(proxygen_dns_future_dns
  SRCS
    FutureDNSResolver.cpp
  EXPORTED_DEPS
    proxygen_dns_dns_base
    Folly::folly_futures_core
    Folly::folly_io_async_async_base
    Folly::folly_network_address
)

proxygen_add_library(proxygen_dns_dns_module
  SRCS
    DNSModule.cpp
  DEPS
    Folly::folly_network_address
    Folly::folly_portability_gflags
    Folly::folly_singleton
  EXPORTED_DEPS
    proxygen_dns
    proxygen_dns_cares_dns
    Folly::folly_memory
)
