From: Mike Gelfand Date: Sun, 15 Mar 2015 16:57:30 +0000 (+0000) Subject: Add support for WolfSSL X-Git-Tag: 2.90~215 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=82f4e066588df1db0a89ffc72def59399297c3b5;p=transmission Add support for WolfSSL It was announced on March 5th that CyaSSL changes name to WolfSSL, and version 3.4.0 has been released under that new name. Tune FindCyaSSL.cmake a bit to probe for both libraries. Fortunately, compatibility headers are provided so I didn't have to touch the code at all for now. --- diff --git a/cmake/FindCyaSSL.cmake b/cmake/FindCyaSSL.cmake index f428fb794..1f301aa52 100644 --- a/cmake/FindCyaSSL.cmake +++ b/cmake/FindCyaSSL.cmake @@ -8,21 +8,36 @@ if(CYASSL_PREFER_STATIC_LIB) endif() if(UNIX) - find_package(PkgConfig QUIET) - pkg_check_modules(_CYASSL QUIET cyassl) + find_package(PkgConfig QUIET) + pkg_check_modules(_WOLFSSL QUIET wolfssl) endif() -find_path(CYASSL_INCLUDE_DIR NAMES cyassl/version.h HINTS ${_CYASSL_INCLUDEDIR}) -find_library(CYASSL_LIBRARY NAMES cyassl HINTS ${_CYASSL_LIBDIR}) +find_path(WOLFSSL_INCLUDE_DIR NAMES wolfssl/version.h HINTS ${_WOLFSSL_INCLUDEDIR}) +find_library(WOLFSSL_LIBRARY NAMES wolfssl HINTS ${_WOLFSSL_LIBDIR}) +if(WOLFSSL_INCLUDE_DIR AND WOLFSSL_LIBRARY) + set(CYASSL_INCLUDE_DIR ${WOLFSSL_INCLUDE_DIR}) + set(CYASSL_LIBRARY ${WOLFSSL_LIBRARY}) + set(CYASSL_VERSION ${_WOLFSSL_VERSION}) + set(CYASSL_IS_WOLFSSL ON) +else() + if(UNIX) + pkg_check_modules(_CYASSL QUIET cyassl) + endif() + + find_path(CYASSL_INCLUDE_DIR NAMES cyassl/version.h HINTS ${_CYASSL_INCLUDEDIR}) + find_library(CYASSL_LIBRARY NAMES cyassl HINTS ${_CYASSL_LIBDIR}) + set(CYASSL_VERSION ${_CYASSL_VERSION}) + set(CYASSL_IS_WOLFSSL OFF) +endif() -if(CYASSL_INCLUDE_DIR) - if(_CYASSL_VERSION) - set(CYASSL_VERSION ${_CYASSL_VERSION}) +if(NOT CYASSL_VERSION AND CYASSL_INCLUDE_DIR) + if(CYASSL_IS_WOLFSSL) + file(STRINGS "${CYASSL_INCLUDE_DIR}/wolfssl/version.h" CYASSL_VERSION_STR REGEX "^#define[\t ]+LIBWOLFSSL_VERSION_STRING[\t ]+\"[^\"]+\"") else() file(STRINGS "${CYASSL_INCLUDE_DIR}/cyassl/version.h" CYASSL_VERSION_STR REGEX "^#define[\t ]+LIBCYASSL_VERSION_STRING[\t ]+\"[^\"]+\"") - if(CYASSL_VERSION_STR MATCHES "\"([^\"]+)\"") - set(CYASSL_VERSION "${CMAKE_MATCH_1}") - endif() + endif() + if(CYASSL_VERSION_STR MATCHES "\"([^\"]+)\"") + set(CYASSL_VERSION "${CMAKE_MATCH_1}") endif() endif() @@ -39,7 +54,7 @@ find_package_handle_standard_args(CyaSSL CYASSL_VERSION ) -mark_as_advanced(CYASSL_INCLUDE_DIR CYASSL_LIBRARY) +mark_as_advanced(WOLFSSL_INCLUDE_DIR WOLFSSL_LIBRARY CYASSL_INCLUDE_DIR CYASSL_LIBRARY) if(CYASSL_PREFER_STATIC_LIB) set(CMAKE_FIND_LIBRARY_SUFFIXES ${CYASSL_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})