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)