 add_library(
        common src/tfe_utils.cpp src/tfe_types.cpp src/tfe_future.cpp src/tfe_http.cpp src/tfe_plugin.cpp
        src/tfe_rpc.cpp src/tfe_cmsg.cpp src/tfe_kafka_logger.cpp src/tfe_resource.cpp src/tfe_scan.cpp
        src/tfe_pkt_util.cpp src/tfe_tcp_restore.cpp src/raw_socket.cpp src/packet_construct.cpp src/tfe_fieldstat.cpp
        src/tap.cpp src/io_uring.cpp src/intercept_policy.cpp)
target_include_directories(common PUBLIC ${CMAKE_CURRENT_LIST_DIR}/include)
target_link_libraries(common PUBLIC libevent-static libevent-static-openssl libevent-static-pthreads rdkafka)
target_link_libraries(common PUBLIC MESA_handle_logger cjson)

if (SUPPORT_LIBURING)
    target_link_libraries(common PUBLIC uring)
endif()

### UNITTEST CASE
add_executable(test-addr test/test_addr.cpp src/tfe_types.cpp src/tfe_utils.cpp)
target_include_directories(test-addr PRIVATE include)
target_link_libraries(test-addr PRIVATE gtest MESA_handle_logger)

include(GoogleTest)
gtest_discover_tests(test-addr)

### test_cmsg
add_executable(test_cmsg test/test_cmsg.cpp)
target_include_directories(test_cmsg PRIVATE include)
target_link_libraries(test_cmsg PRIVATE common)
