From c45a1cd38ed4d9e584e0272b58808e7c3cb32969 Mon Sep 17 00:00:00 2001 From: Christian Huitema Date: Thu, 16 May 2024 12:51:52 -0700 Subject: [PATCH] library order in MbedTLS finder --- cmake/FindMbedTLS.cmake | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/cmake/FindMbedTLS.cmake b/cmake/FindMbedTLS.cmake index 1187883b..c24baa05 100644 --- a/cmake/FindMbedTLS.cmake +++ b/cmake/FindMbedTLS.cmake @@ -33,16 +33,20 @@ 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}) +FIND_LIBRARY(MBEDTLS_CRYPTO mbedcrypto HINTS ${MBEDTLS_LIBDIR}) -# setup +# setup. +# Mbedtls depends on mbedtls x509 and mbedtls crypto. +# Mbedtls x509 depends on mbedtls crypto +# The order of libraries must be mbetls, then x509, then crypto, +# in order to avoid linker issues. FIND_PACKAGE_HANDLE_STANDARD_ARGS(MbedTLS REQUIRED_VARS MBEDTLS_LIBRARY - MBEDTLS_CRYPTO MBEDTLS_X509 + MBEDTLS_CRYPTO MBEDTLS_INCLUDE_DIRS) IF (MbedTLS_FOUND) - SET(MBEDTLS_LIBRARIES ${MBEDTLS_LIBRARY} ${MBEDTLS_CRYPTO} ${MBEDTLS_X509}) + SET(MBEDTLS_LIBRARIES ${MBEDTLS_LIBRARY} ${MBEDTLS_X509} ${MBEDTLS_CRYPTO}) MARK_AS_ADVANCED(MBEDTLS_LIBRARIES MBEDTLS_INCLUDE_DIRS) ENDIF ()