file(GLOB_RECURSE FASTMM_NET_SOURCES CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
file(GLOB_RECURSE FASTMM_NET_HEADERS CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/include/fastmm/net/*.hpp)
add_library(fastmm_net STATIC ${FASTMM_NET_SOURCES} ${FASTMM_NET_HEADERS})
add_library(fastmm::net ALIAS fastmm_net)
set_target_properties(fastmm_net PROPERTIES EXPORT_NAME net)
fastmm_target_defaults(fastmm_net)
target_link_libraries(fastmm_net PUBLIC fastmm::core OpenSSL::SSL OpenSSL::Crypto)
# liburing: the io_uring backend only; its header stays out of the public ones.
target_link_libraries(fastmm_net PRIVATE uring)
# simdjson: UTF-8 validation of WebSocket text messages and close reasons (ws_frame.cpp).
target_link_libraries(fastmm_net PRIVATE simdjson::simdjson)
if(TARGET fastmm_dpdk)
  target_link_libraries(fastmm_net PUBLIC fastmm_dpdk)
  target_compile_definitions(fastmm_net PUBLIC FASTMM_HAS_DPDK=1)
endif()
