Skip to content

Commit 22a5239

Browse files
committed
add cmake options to turn ON/OFF static/shared build
1 parent 3cc204e commit 22a5239

File tree

2 files changed

+33
-23
lines changed

2 files changed

+33
-23
lines changed

CHANGELOG

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#v1.0.3 - [12/09/2025]
2+
- Add cmake options to turn ON/OFF static/shared build
3+
14
#v1.0.2 - [12/05/2025]
25
- Change MulticastSender from template class to regular class (breaking change)
36
- Upgrade Google Test to v1.17.0

CMakeLists.txt

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
55
set(CMAKE_CXX_EXTENSIONS OFF)
66

77
project(slick_socket
8-
VERSION 1.0.2
8+
VERSION 1.0.3
99
LANGUAGES C CXX
1010
)
1111

@@ -55,30 +55,37 @@ if (MSVC)
5555
endif()
5656

5757
if(WIN32)
58-
add_library(slick_socket STATIC src/wepoll.c)
59-
add_library(slick::slick_socket ALIAS slick_socket)
60-
set_target_properties(slick_socket PROPERTIES
61-
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
62-
)
63-
target_include_directories(slick_socket PUBLIC
64-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
65-
$<INSTALL_INTERFACE:include>
66-
)
67-
target_compile_definitions(slick_socket PUBLIC _WIN32_WINNT=0x0601)
68-
target_link_libraries(slick_socket PUBLIC ws2_32)
58+
# Static lib
59+
option(BUILD_SLICK_SOCKET_STATIC_LIBS "Build tests" ON)
60+
if (BUILD_SLICK_SOCKET_STATIC_LIBS)
61+
add_library(slick_socket STATIC src/wepoll.c)
62+
add_library(slick::slick_socket ALIAS slick_socket)
63+
set_target_properties(slick_socket PROPERTIES
64+
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
65+
)
66+
target_include_directories(slick_socket PUBLIC
67+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
68+
$<INSTALL_INTERFACE:include>
69+
)
70+
target_compile_definitions(slick_socket PUBLIC _WIN32_WINNT=0x0601)
71+
target_link_libraries(slick_socket PUBLIC ws2_32)
72+
endif()
6973

7074
# Shared lib
71-
add_library(slick_socket_shared SHARED src/wepoll.c)
72-
add_library(slick::slick_socket_shared ALIAS slick_socket_shared)
73-
set_target_properties(slick_socket_shared PROPERTIES
74-
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
75-
)
76-
target_include_directories(slick_socket_shared PUBLIC
77-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
78-
$<INSTALL_INTERFACE:include>
79-
)
80-
target_compile_definitions(slick_socket_shared PUBLIC _WIN32_WINNT=0x0601)
81-
target_link_libraries(slick_socket_shared PUBLIC ws2_32)
75+
option(BUILD_SLICK_SOCKET_SHARED_LIBS "Build tests" ON)
76+
if (BUILD_SLICK_SOCKET_SHARED_LIBS)
77+
add_library(slick_socket_shared SHARED src/wepoll.c)
78+
add_library(slick::slick_socket_shared ALIAS slick_socket_shared)
79+
set_target_properties(slick_socket_shared PROPERTIES
80+
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
81+
)
82+
target_include_directories(slick_socket_shared PUBLIC
83+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
84+
$<INSTALL_INTERFACE:include>
85+
)
86+
target_compile_definitions(slick_socket_shared PUBLIC _WIN32_WINNT=0x0601)
87+
target_link_libraries(slick_socket_shared PUBLIC ws2_32)
88+
endif()
8289

8390
elseif(UNIX)
8491
add_library(slick_socket INTERFACE)

0 commit comments

Comments
 (0)