cmake_minimum_required(VERSION 3.25) project(tcpproxy C) set(LWIP_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lwip) set(LWIP_CONTRIB_DIR ${LWIP_DIR}/contrib) set (LWIP_INCLUDE_DIRS "${LWIP_DIR}/src/include" "${LWIP_CONTRIB_DIR}" "${LWIP_CONTRIB_DIR}/ports/unix/port/include" "${CMAKE_CURRENT_SOURCE_DIR}/src") include(${LWIP_DIR}/src/Filelists.cmake) include(${LWIP_DIR}/contrib/Filelists.cmake) include(${LWIP_DIR}/contrib/ports/unix/Filelists.cmake) set(CMAKE_C_STANDARD 11) find_library(LIBEVENT event_core) add_executable(tcpproxy src/main.c ${lwipcontribportunix_SRCS}) target_include_directories(tcpproxy PRIVATE ${LWIP_INCLUDE_DIRS}) target_compile_options(tcpproxy PRIVATE ${LWIP_COMPILER_FLAGS}) target_compile_definitions(tcpproxy PRIVATE ${LWIP_DEFINITIONS} ${LWIP_MBEDTLS_DEFINITIONS}) target_link_libraries(tcpproxy ${LWIP_SANITIZER_LIBS} lwipcontribexamples lwipcontribapps lwipcontribaddons lwipallapps lwipcontribportunix lwipcore lwipmbedtls ${LIBEVENT})