vcpkg/ports/mbedtls/vcpkg-cmake-wrapper.cmake
DDoSolitary 2c68b1229b
[libssh] Enable mbedtls's threading support (#10154)
* Add "pthreads" feature to mbedtls.

* Cleanup portfile.

* Fix mbedtls pthreads support for Linux.

* [mbedtls] Require the pthreads port only on Windows.

* [mbedtls] Work around dependency issues about static linking.
2020-03-11 09:15:12 -07:00

30 lines
1017 B
CMake

include(FindPackageHandleStandardArgs)
find_path(MBEDTLS_INCLUDE_DIR mbedtls/ssl.h)
find_library(MBEDTLS_CRYPTO_LIBRARY mbedcrypto)
find_package(pthreads_windows QUIET)
set(MBEDTLS_CRYPTO_LIBRARY ${MBEDTLS_CRYPTO_LIBRARY} ${PThreads4W_LIBRARY})
find_library(MBEDTLS_X509_LIBRARY mbedx509)
find_library(MBEDTLS_TLS_LIBRARY mbedtls)
set(MBEDTLS_LIBRARIES ${MBEDTLS_CRYPTO_LIBRARY} ${MBEDTLS_X509_LIBRARY} ${MBEDTLS_TLS_LIBRARY})
if (MBEDTLS_INCLUDE_DIR AND EXISTS "${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h")
file(
STRINGS ${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h _MBEDTLS_VERLINE
REGEX "^#define[ \t]+MBEDTLS_VERSION_STRING[\t ].*"
)
string(REGEX REPLACE ".*MBEDTLS_VERSION_STRING[\t ]+\"(.*)\"" "\\1" MBEDTLS_VERSION ${_MBEDTLS_VERLINE})
endif()
find_package_handle_standard_args(
mbedTLS
REQUIRED_VARS
MBEDTLS_INCLUDE_DIR
MBEDTLS_CRYPTO_LIBRARY
MBEDTLS_X509_LIBRARY
MBEDTLS_TLS_LIBRARY
PThreads4W_FOUND
VERSION_VAR MBEDTLS_VERSION
)