Blame cmake/Modules/FindMbedTLS.cmake

Packit Service 31306d
# - Try to find mbedTLS
Packit Service 31306d
# Once done this will define
Packit Service 31306d
#
Packit Service 31306d
#  MBEDTLS_FOUND - system has mbedTLS
Packit Service 31306d
#  MBEDTLS_INCLUDE_DIRS - the mbedTLS include directory
Packit Service 31306d
#  MBEDTLS_LIBRARIES - Link these to use mbedTLS
Packit Service 31306d
#  MBEDTLS_DEFINITIONS - Compiler switches required for using mbedTLS
Packit Service 31306d
#=============================================================================
Packit Service 31306d
#  Copyright (c) 2017 Sartura d.o.o.
Packit Service 31306d
#
Packit Service 31306d
#  Author: Juraj Vijtiuk <juraj.vijtiuk@sartura.hr>
Packit Service 31306d
#
Packit Service 31306d
#  Distributed under the OSI-approved BSD License (the "License");
Packit Service 31306d
#  see accompanying file Copyright.txt for details.
Packit Service 31306d
#
Packit Service 31306d
#  This software is distributed WITHOUT ANY WARRANTY; without even the
Packit Service 31306d
#  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Packit Service 31306d
#  See the License for more information.
Packit Service 31306d
#=============================================================================
Packit Service 31306d
#
Packit Service 31306d
Packit Service 31306d
Packit Service 31306d
set(_MBEDTLS_ROOT_HINTS
Packit Service 31306d
    $ENV{MBEDTLS_ROOT_DIR}
Packit Service 31306d
    ${MBEDTLS_ROOT_DIR})
Packit Service 31306d
Packit Service 31306d
set(_MBEDTLS_ROOT_PATHS
Packit Service 31306d
    "$ENV{PROGRAMFILES}/libmbedtls")
Packit Service 31306d
Packit Service 31306d
set(_MBEDTLS_ROOT_HINTS_AND_PATHS
Packit Service 31306d
    HINTS ${_MBEDTLS_ROOT_HINTS}
Packit Service 31306d
    PATHS ${_MBEDTLS_ROOT_PATHS})
Packit Service 31306d
Packit Service 31306d
Packit Service 31306d
find_path(MBEDTLS_INCLUDE_DIR
Packit Service 31306d
    NAMES
Packit Service 31306d
        mbedtls/config.h
Packit Service 31306d
    HINTS
Packit Service 31306d
        ${_MBEDTLS_ROOT_HINTS_AND_PATHS}
Packit Service 31306d
    PATH_SUFFIXES
Packit Service 31306d
       include
Packit Service 31306d
)
Packit Service 31306d
Packit Service 31306d
find_library(MBEDTLS_SSL_LIBRARY
Packit Service 31306d
        NAMES
Packit Service 31306d
            mbedtls
Packit Service 31306d
        HINTS
Packit Service 31306d
            ${_MBEDTLS_ROOT_HINTS_AND_PATHS}
Packit Service 31306d
        PATH_SUFFIXES
Packit Service 31306d
            lib
Packit Service 31306d
Packit Service 31306d
)
Packit Service 31306d
Packit Service 31306d
find_library(MBEDTLS_CRYPTO_LIBRARY
Packit Service 31306d
        NAMES
Packit Service 31306d
            mbedcrypto
Packit Service 31306d
        HINTS
Packit Service 31306d
            ${_MBEDTLS_ROOT_HINTS_AND_PATHS}
Packit Service 31306d
        PATH_SUFFIXES
Packit Service 31306d
            lib
Packit Service 31306d
)
Packit Service 31306d
Packit Service 31306d
find_library(MBEDTLS_X509_LIBRARY
Packit Service 31306d
        NAMES
Packit Service 31306d
            mbedx509
Packit Service 31306d
        HINTS
Packit Service 31306d
            ${_MBEDTLS_ROOT_HINTS_AND_PATHS}
Packit Service 31306d
        PATH_SUFFIXES
Packit Service 31306d
            lib
Packit Service 31306d
)
Packit Service 31306d
Packit Service 31306d
set(MBEDTLS_LIBRARIES ${MBEDTLS_SSL_LIBRARY} ${MBEDTLS_CRYPTO_LIBRARY}
Packit Service 31306d
        ${MBEDTLS_X509_LIBRARY})
Packit Service 31306d
Packit Service 31306d
if (MBEDTLS_INCLUDE_DIR AND EXISTS "${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h")
Packit Service 31306d
    file(STRINGS "${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h" _mbedtls_version_str REGEX
Packit Service 31306d
            "^#[\t ]*define[\t ]+MBEDTLS_VERSION_STRING[\t ]+\"[0-9]+.[0-9]+.[0-9]+\"")
Packit Service 31306d
Packit Service 31306d
    string(REGEX REPLACE "^.*MBEDTLS_VERSION_STRING.*([0-9]+.[0-9]+.[0-9]+).*"
Packit Service 31306d
            "\\1" MBEDTLS_VERSION "${_mbedtls_version_str}")
Packit Service 31306d
endif ()
Packit Service 31306d
Packit Service 31306d
include(FindPackageHandleStandardArgs)
Packit Service 31306d
if (MBEDTLS_VERSION)
Packit Service 31306d
    find_package_handle_standard_args(MbedTLS
Packit Service 31306d
        REQUIRED_VARS
Packit Service 31306d
            MBEDTLS_INCLUDE_DIR
Packit Service 31306d
            MBEDTLS_LIBRARIES
Packit Service 31306d
        VERSION_VAR
Packit Service 31306d
            MBEDTLS_VERSION
Packit Service 31306d
        FAIL_MESSAGE
Packit Service 31306d
            "Could NOT find mbedTLS, try to set the path to mbedTLS root folder
Packit Service 31306d
            in the system variable MBEDTLS_ROOT_DIR"
Packit Service 31306d
    )
Packit Service 31306d
else (MBEDTLS_VERSION)
Packit Service 31306d
    find_package_handle_standard_args(MBedTLS
Packit Service 31306d
        "Could NOT find mbedTLS, try to set the path to mbedLS root folder in
Packit Service 31306d
        the system variable MBEDTLS_ROOT_DIR"
Packit Service 31306d
        MBEDTLS_INCLUDE_DIR
Packit Service 31306d
        MBEDTLS_LIBRARIES)
Packit Service 31306d
endif (MBEDTLS_VERSION)
Packit Service 31306d
Packit Service 31306d
# show the MBEDTLS_INCLUDE_DIRS and MBEDTLS_LIBRARIES variables only in the advanced view
Packit Service 31306d
mark_as_advanced(MBEDTLS_INCLUDE_DIR MBEDTLS_LIBRARIES)