blob: 048a1e9b476be95b7fd8110b2fc5d46aaafdde3a [file] [log] [blame]
# Try to find MbedTLS; recognized hints are:
# * MBEDTLS_ROOT_DIR
# * MBEDTLS_LIBDIR
# Upon return,
# * MBEDTLS_INCLUDE_DIRS
# * MBEDTLS_LIBRARIES
# will be set.
# Users may supply MBEDTLS_INCLUDE_DIRS or MBEDTLS_LIBRARIES directly.
INCLUDE(FindPackageHandleStandardArgs)
# setup default vars for the hints
IF (NOT DEFINED MBEDTLS_ROOT_DIR)
SET(MBEDTLS_ROOT_DIR "/usr/local" "/usr")
ENDIF ()
IF (NOT DEFINED MBEDTLS_LIBDIR)
SET(MBEDTLS_LIBDIR)
FOREACH (item IN LISTS MBEDTLS_ROOT_DIR)
LIST(APPEND MBEDTLS_LIBDIR "${item}/lib")
ENDFOREACH ()
ENDIF ()
# find include directory
IF (NOT DEFINED MBEDTLS_INCLUDE_DIRS)
SET(HINTS)
FOREACH (item IN LISTS MBEDTLS_ROOT_DIR)
LIST(APPEND HINTS "${item}/include")
ENDFOREACH ()
FIND_PATH(MBEDTLS_INCLUDE_DIRS
NAMES mbedtls/build_info.h psa/crypto.h
HINTS $HINTS)
ENDIF ()
# find libraries
FIND_LIBRARY(MBEDTLS_LIBRARY mbedtls HINTS $MBEDTLS_LIBDIR)
FIND_LIBRARY(MBEDTLS_CRYPTO mbedcrypto HINTS $MBEDTLS_LIBDIR)
FIND_LIBRARY(MBEDTLS_X509 mbedx509 HINTS $MBEDTLS_LIBDIR)
# setup
FIND_PACKAGE_HANDLE_STANDARD_ARGS(MbedTLS REQUIRED_VARS
MBEDTLS_LIBRARY
MBEDTLS_CRYPTO
MBEDTLS_X509
MBEDTLS_INCLUDE_DIRS)
IF (MbedTLS_FOUND)
SET(MBEDTLS_LIBRARIES ${MBEDTLS_LIBRARY} ${MBEDTLS_CRYPTO} ${MBEDTLS_X509})
MARK_AS_ADVANCED(MBEDTLS_LIBRARIES MBEDTLS_INCLUDE_DIRS)
ENDIF ()