@@ -5,7 +5,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
55set (CMAKE_CXX_EXTENSIONS OFF )
66
77set (BUILD_VERSION 0.1.0.0)
8- project (slick_socket VERSION ${BUILD_VERSION} LANGUAGES CXX)
8+ project (slick_socket VERSION ${BUILD_VERSION} LANGUAGES C CXX)
99
1010if (NOT CMAKE_BUILD_TYPE )
1111 set (CMAKE_BUILD_TYPE Release)
@@ -47,17 +47,23 @@ if (MSVC)
4747 set (CMAKE_SUPPRESS_REGENERATION true ) # supress zero_check project
4848endif ()
4949
50- add_library (slick_socket INTERFACE )
51- target_include_directories (slick_socket INTERFACE
52- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /include >
53- $<INSTALL_INTERFACE:include >
54- )
55-
5650if (WIN32 )
57- target_compile_definitions (slick_socket INTERFACE _WIN32_WINNT=0x0601)
58- target_link_libraries (slick_socket INTERFACE ws2_32)
51+ add_library (slick_socket STATIC src/wepoll.c)
52+ set_target_properties (slick_socket PROPERTIES
53+ ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /lib
54+ )
55+ target_include_directories (slick_socket PUBLIC
56+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /include >
57+ $<INSTALL_INTERFACE:include >
58+ )
59+ target_compile_definitions (slick_socket PUBLIC _WIN32_WINNT=0x0601)
60+ target_link_libraries (slick_socket PUBLIC ws2_32)
5961elseif (UNIX )
60- # Unix doesn't need additional libraries for basic socket operations
62+ add_library (slick_socket INTERFACE )
63+ target_include_directories (slick_socket INTERFACE
64+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /include >
65+ $<INSTALL_INTERFACE:include >
66+ )
6167endif ()
6268
6369option (BUILD_SLICK_SOCKET_EXAMPLES "Build tests" ON )
@@ -75,6 +81,9 @@ endif()
7581
7682# Installation rules
7783install (DIRECTORY include / DESTINATION include )
84+ if (WIN32 )
85+ install (DIRECTORY ${CMAKE_BINARY_DIR} /lib/${CMAKE_BUILD_TYPE} / DESTINATION lib)
86+ endif ()
7887
7988# Automatically run install after build in Release mode
8089if (CMAKE_BUILD_TYPE STREQUAL "Release" )
@@ -86,7 +95,7 @@ if(CMAKE_BUILD_TYPE STREQUAL "Release")
8695
8796 if (PROJECT_IS_TOP_LEVEL)
8897 add_custom_target (package_slick_socket ALL
89- COMMAND ${CMAKE_COMMAND} -E tar "cfv" "${CMAKE_BINARY_DIR} /dist/slick_socket_${BUILD_VERSION} .zip" --format=zip "include"
98+ COMMAND ${CMAKE_COMMAND} -E tar "cfv" "${CMAKE_BINARY_DIR} /dist/slick_socket_${BUILD_VERSION} .zip" --format=zip "include" "lib"
9099 WORKING_DIRECTORY "${CMAKE_BINARY_DIR} /dist"
91100 COMMENT "Creating zip archive"
92101 )
0 commit comments