CMakeLists.txt

back


cmake_minimum_required(VERSION 3.2)
project(netlib LANGUAGES C VERSION 0.5)

add_executable(netlib 
    src/main.c
    src/csum.c
    src/data_util.c
    src/udp.c
    src/ip.c
    src/eth.c
    src/socket.c
    src/link.c
    src/slip.c
)

if (CMAKE_SYSTEM_NAME STREQUAL "LF-OS")
    target_sources(netlib PRIVATE
        src/platform/lf_os/socket.c
    )
elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
    target_sources(netlib PRIVATE
        src/platform/linux/socket.c
    )
else()
    error("Unsupported platform")
endif()

target_include_directories(netlib SYSTEM PUBLIC
    "src/include"
)

target_compile_options(netlib PRIVATE
    -Wall -Wextra -Wpedantic -O2 
)

set_target_properties(netlib PROPERTIES OUTPUT_NAME netlib)