41 lines
949 B
CMake
41 lines
949 B
CMake
|
cmake_minimum_required(VERSION 3.14)
|
||
|
|
||
|
project(wepoll C)
|
||
|
|
||
|
add_library(wepoll wepoll.c)
|
||
|
|
||
|
if (MSVC)
|
||
|
if (BUILD_SHARED_LIBS)
|
||
|
target_compile_definitions(
|
||
|
wepoll
|
||
|
PRIVATE
|
||
|
"-DWEPOLL_EXPORT=__declspec(dllexport)"
|
||
|
)
|
||
|
endif ()
|
||
|
|
||
|
target_compile_options(wepoll PRIVATE /Wall /wd4127 /wd4201 /wd4242 /wd4710 /wd4711 /wd4820)
|
||
|
|
||
|
if (MSVC_VERSION GREATER_EQUAL 1900)
|
||
|
target_compile_options(wepoll PRIVATE /wd5045)
|
||
|
endif ()
|
||
|
else ()
|
||
|
target_compile_definitions(
|
||
|
wepoll
|
||
|
PRIVATE
|
||
|
"-DWEPOLL_EXPORT=__attribute__((visibility(\"default\")))"
|
||
|
)
|
||
|
|
||
|
target_compile_options(wepoll PRIVATE -Wall -Wextra -Werror -fvisibility=hidden)
|
||
|
endif ()
|
||
|
|
||
|
target_link_libraries(wepoll PUBLIC ws2_32)
|
||
|
|
||
|
set_target_properties(
|
||
|
wepoll
|
||
|
PROPERTIES
|
||
|
OUTPUT_NAME wepoll
|
||
|
PUBLIC_HEADER wepoll.h
|
||
|
)
|
||
|
|
||
|
install(TARGETS wepoll)
|