@@ -81,8 +81,39 @@ if(NOT USE_PCAP)
8181 "${PROJECT_SOURCE_DIR} /src/send_packets.c" )
8282endif (NOT USE_PCAP)
8383
84+ find_package (PkgConfig QUIET ) # import pkg_check_modules() and friends
8485if (USE_SSL)
85- add_definitions ("-DUSE_TLS -DUSE_OPENSSL" )
86+ if (PKG_CONFIG_FOUND)
87+ pkg_search_module(SSL openssl>=0.9.8 wolfssl>=3.15.0)
88+ endif ()
89+ if (SSL_FOUND)
90+ if ("${SSL_LIBRARIES} " MATCHES "wolfssl" )
91+ set (WOLFSSL_FOUND True )
92+ else ()
93+ set (OPENSSL_FOUND True )
94+ endif ()
95+ else ()
96+ find_library (OPENSSL_SSL_LIBRARY NAMES ssl)
97+ find_library (OPENSSL_CRYPTO_LIBRARY NAMES crypto)
98+ if (OPENSSL_SSL_LIBRARY AND OPENSSL_CRYPTO_LIBRARY)
99+ set (SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY} )
100+ set (OPENSSL_FOUND True )
101+ else ()
102+ find_library (WOLFSSL_LIBRARY NAMES wolfssl)
103+ if (WOLFSSL_LIBRARY)
104+ set (SSL_LIBRARIES ${WOLFSSL_LIBRARY} )
105+ set (WOLFSSL_FOUND True )
106+ endif ()
107+ endif ()
108+ if (NOT OPENSSL_FOUND AND NOT WOLFSSL_FOUND)
109+ message (FATAL_ERROR "Neither OpenSSL nor WolfSSL was found; please install a devel package" )
110+ endif ()
111+ endif ()
112+ if (OPENSSL_FOUND)
113+ add_definitions ("-DUSE_TLS" "-DUSE_OPENSSL" )
114+ elseif (WOLFSSL_FOUND)
115+ add_definitions ("-DUSE_TLS" "-DUSE_WOLFSSL" "-DOPENSSL_ALL" )
116+ endif ()
86117endif ()
87118
88119if (USE_PCAP)
@@ -134,7 +165,6 @@ if(BUILD_STATIC)
134165 set (CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static" )
135166endif (BUILD_STATIC)
136167
137- find_package (PkgConfig QUIET ) # import pkg_check_modules() and friends
138168if (PKG_CONFIG_FOUND)
139169 pkg_search_module(CURSES_LIBRARY ncursesw cursesw ncurses curses)
140170 if (CURSES_LIBRARY_FOUND)
@@ -187,10 +217,14 @@ if(USE_GSL AND GSL_LIBRARY)
187217 target_link_libraries (sipp_unittest gsl gslcblas)
188218endif (USE_GSL AND GSL_LIBRARY)
189219
190- if (USE_SSL)
191- target_link_libraries (sipp crypto ssl)
192- target_link_libraries (sipp_unittest crypto ssl)
193- endif (USE_SSL)
220+ if (USE_SSL AND SSL_LIBRARIES)
221+ target_link_libraries (sipp ${SSL_LIBRARIES} )
222+ target_link_libraries (sipp_unittest ${SSL_LIBRARIES} )
223+ if (SSL_INCLUDE_DIRS)
224+ target_include_directories (sipp SYSTEM PUBLIC ${SSL_INCLUDE_DIRS} )
225+ target_include_directories (sipp_unittest SYSTEM PUBLIC ${SSL_INCLUDE_DIRS} )
226+ endif (SSL_INCLUDE_DIRS)
227+ endif (USE_SSL AND SSL_LIBRARIES)
194228
195229if (USE_PCAP)
196230 target_link_libraries (sipp pcap)
0 commit comments