cmake_minimum_required(VERSION 3.10)
project(CgeNet LANGUAGES C)

set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)

set(SOURCES
)

set(SOURCES_WIN32
    src/win32/Addr.c
    src/win32/Poll.c
    src/win32/Socket.c
)

set(SOURCES_POSIX
    src/posix/Addr.c
    src/posix/Poll.c
    src/posix/Socket.c
)

set(HEADERS
    CgeNet.h
)

if(WIN32)
    message(STATUS "Platform - Win32")
    list(APPEND SOURCES ${SOURCES_WIN32})
elseif(UNIX)
    message(STATUS "Platform: Unix (Linux/BSD/MacOS X)")
    list(APPEND SOURCES ${SOURCES_POSIX})
endif()

add_library(CgeNet STATIC ${SOURCES} ${HEADERS})

target_include_directories(CgeNet PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

install(TARGETS CgeNet
    ARCHIVE DESTINATION lib
    LIBRARY DESTINATION lib
    RUNTIME DESTINATION bin
)

install(FILES ${HEADERS} DESTINATION include)
