• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# - Try to find wolfssl
2# Once done this will define
3#  WOLFSSL_FOUND        - System has wolfssl
4#  WOLFSSL_INCLUDE_DIRS - The wolfssl include directories
5#  WOLFSSL_LIBRARIES    - The libraries needed to use wolfssl
6
7find_package(PkgConfig QUIET)
8pkg_check_modules(PC_WOLFSSL QUIET wolfssl)
9
10find_path(WOLFSSL_INCLUDE_DIR
11  NAMES wolfssl/ssl.h
12  HINTS ${PC_WOLFSSL_INCLUDE_DIRS}
13)
14find_library(WOLFSSL_LIBRARY
15  NAMES wolfssl
16  HINTS ${PC_WOLFSSL_LIBRARY_DIRS}
17)
18
19if(WOLFSSL_INCLUDE_DIR)
20  set(_version_regex "^#define[ \t]+LIBWOLFSSL_VERSION_STRING[ \t]+\"([^\"]+)\".*")
21  file(STRINGS "${WOLFSSL_INCLUDE_DIR}/wolfssl/version.h"
22    WOLFSSL_VERSION REGEX "${_version_regex}")
23  string(REGEX REPLACE "${_version_regex}" "\\1"
24    WOLFSSL_VERSION "${WOLFSSL_VERSION}")
25  unset(_version_regex)
26endif()
27
28include(FindPackageHandleStandardArgs)
29# handle the QUIETLY and REQUIRED arguments and set WOLFSSL_FOUND
30# to TRUE if all listed variables are TRUE and the requested version
31# matches.
32find_package_handle_standard_args(WolfSSL REQUIRED_VARS
33                                  WOLFSSL_LIBRARY WOLFSSL_INCLUDE_DIR
34                                  VERSION_VAR WOLFSSL_VERSION)
35
36if(WOLFSSL_FOUND)
37  set(WOLFSSL_LIBRARIES     ${WOLFSSL_LIBRARY})
38  set(WOLFSSL_INCLUDE_DIRS  ${WOLFSSL_INCLUDE_DIR})
39endif()
40
41mark_as_advanced(WOLFSSL_INCLUDE_DIR WOLFSSL_LIBRARY)
42