@@ -125,16 +125,16 @@ option(USE_TLS "Enable TLS support" FALSE)
125125if (USE_TLS)
126126 # default to securetranport on Apple if nothing is configured
127127 if (APPLE )
128- if (NOT USE_MBED_TLS AND NOT USE_OPEN_SSL) # unless we want something else
128+ if (NOT USE_MBED_TLS AND NOT USE_OPEN_SSL AND NOT USE_LIBRE_SSL ) # unless we want something else
129129 set (USE_SECURE_TRANSPORT ON )
130130 endif ()
131131 # default to mbedtls on windows if nothing is configured
132132 elseif (WIN32 )
133- if (NOT USE_OPEN_SSL) # unless we want something else
133+ if (NOT USE_OPEN_SSL AND NOT USE_LIBRE_SSL ) # unless we want something else
134134 set (USE_MBED_TLS ON )
135135 endif ()
136136 else () # default to OpenSSL on all other platforms
137- if (NOT USE_MBED_TLS) # Unless mbedtls is requested
137+ if (NOT USE_MBED_TLS AND NOT USE_LIBRE_SSL ) # Unless mbedtls or libressl is requested
138138 set (USE_OPEN_SSL ON )
139139 set (requires "openssl" )
140140 endif ()
@@ -146,7 +146,7 @@ if (USE_TLS)
146146 elseif (USE_SECURE_TRANSPORT)
147147 list ( APPEND IXWEBSOCKET_HEADERS ixwebsocket/IXSocketAppleSSL.h)
148148 list ( APPEND IXWEBSOCKET_SOURCES ixwebsocket/IXSocketAppleSSL.cpp)
149- elseif (USE_OPEN_SSL)
149+ elseif (USE_OPEN_SSL OR USE_LIBRE_SSL )
150150 list ( APPEND IXWEBSOCKET_HEADERS ixwebsocket/IXSocketOpenSSL.h)
151151 list ( APPEND IXWEBSOCKET_SOURCES ixwebsocket/IXSocketOpenSSL.cpp)
152152 else ()
@@ -183,6 +183,8 @@ if (USE_TLS)
183183 target_compile_definitions (ixwebsocket PUBLIC IXWEBSOCKET_USE_MBED_TLS )
184184 elseif (USE_OPEN_SSL)
185185 target_compile_definitions (ixwebsocket PUBLIC IXWEBSOCKET_USE_OPEN_SSL )
186+ elseif (USE_LIBRE_SSL)
187+ target_compile_definitions (ixwebsocket PUBLIC IXWEBSOCKET_USE_LIBRE_SSL )
186188 elseif (USE_SECURE_TRANSPORT)
187189 target_compile_definitions (ixwebsocket PUBLIC IXWEBSOCKET_USE_SECURE_TRANSPORT )
188190 else ()
@@ -227,6 +229,16 @@ if (USE_TLS)
227229 endif ()
228230 target_include_directories (ixwebsocket PUBLIC $<BUILD_INTERFACE :${MBEDTLS_INCLUDE_DIRS} >)
229231 target_link_libraries (ixwebsocket PRIVATE ${MBEDTLS_LIBRARIES} )
232+ elseif (USE_LIBRE_SSL)
233+ message (STATUS "TLS configured to use libressl" )
234+
235+ if (NOT LIBRESSL_FOUND)
236+ find_package (LibreSSL REQUIRED )
237+ endif ()
238+ message (STATUS "LibreSSL: " ${LIBRESSL_VERSION} )
239+
240+ target_include_directories (ixwebsocket PUBLIC $<BUILD_INTERFACE :${LIBRESSL_INCLUDE_DIR} >)
241+ target_link_libraries (ixwebsocket PRIVATE ${LIBRESSL_LIBRARIES} )
230242 elseif (USE_SECURE_TRANSPORT)
231243 message (STATUS "TLS configured to use secure transport" )
232244 target_link_libraries (ixwebsocket PRIVATE "-framework Foundation" "-framework Security" )
0 commit comments