mirror of
				https://github.com/libssh2/libssh2.git
				synced 2025-10-30 12:05:34 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| # - Try to find mbedTLS
 | ||
| # Once done this will define
 | ||
| #
 | ||
| # Read-Only variables
 | ||
| #  MBEDTLS_FOUND - system has mbedTLS
 | ||
| #  MBEDTLS_INCLUDE_DIR - the mbedTLS include directory
 | ||
| #  MBEDTLS_LIBRARY_DIR - the mbedTLS library directory
 | ||
| #  MBEDTLS_LIBRARIES - Link these to use mbedTLS
 | ||
| #  MBEDTLS_LIBRARY - path to mbedTLS library
 | ||
| #  MBEDX509_LIBRARY - path to mbedTLS X.509 library
 | ||
| #  MBEDCRYPTO_LIBRARY - path to mbedTLS Crypto library
 | ||
| 
 | ||
| FIND_PATH(MBEDTLS_INCLUDE_DIR mbedtls/version.h)
 | ||
| 
 | ||
| IF(MBEDTLS_INCLUDE_DIR AND MBEDTLS_LIBRARIES)
 | ||
|     # Already in cache, be silent
 | ||
|     SET(MBEDTLS_FIND_QUIETLY TRUE)
 | ||
| ENDIF()
 | ||
| 
 | ||
| FIND_LIBRARY(MBEDTLS_LIBRARY NAMES mbedtls libmbedtls libmbedx509)
 | ||
| FIND_LIBRARY(MBEDX509_LIBRARY NAMES mbedx509 libmbedx509)
 | ||
| FIND_LIBRARY(MBEDCRYPTO_LIBRARY NAMES mbedcrypto libmbedcrypto)
 | ||
| 
 | ||
| IF(MBEDTLS_INCLUDE_DIR AND MBEDTLS_LIBRARY AND MBEDX509_LIBRARY AND MBEDCRYPTO_LIBRARY)
 | ||
|      SET(MBEDTLS_FOUND TRUE)
 | ||
| ENDIF()
 | ||
| 
 | ||
| IF(MBEDTLS_FOUND)
 | ||
|     # split mbedTLS into -L and -l linker options, so we can set them for pkg-config
 | ||
|     GET_FILENAME_COMPONENT(MBEDTLS_LIBRARY_DIR ${MBEDTLS_LIBRARY} PATH)
 | ||
|     GET_FILENAME_COMPONENT(MBEDTLS_LIBRARY_FILE ${MBEDTLS_LIBRARY} NAME_WE)
 | ||
|     GET_FILENAME_COMPONENT(MBEDX509_LIBRARY_FILE ${MBEDX509_LIBRARY} NAME_WE)
 | ||
|     GET_FILENAME_COMPONENT(MBEDCRYPTO_LIBRARY_FILE ${MBEDCRYPTO_LIBRARY} NAME_WE)
 | ||
|     STRING(REGEX REPLACE "^lib" "" MBEDTLS_LIBRARY_FILE ${MBEDTLS_LIBRARY_FILE})
 | ||
|     STRING(REGEX REPLACE "^lib" "" MBEDX509_LIBRARY_FILE ${MBEDX509_LIBRARY_FILE})
 | ||
|     STRING(REGEX REPLACE "^lib" "" MBEDCRYPTO_LIBRARY_FILE ${MBEDCRYPTO_LIBRARY_FILE})
 | ||
|     SET(MBEDTLS_LIBRARIES "-L${MBEDTLS_LIBRARY_DIR} -l${MBEDTLS_LIBRARY_FILE} -l${MBEDX509_LIBRARY_FILE} -l${MBEDCRYPTO_LIBRARY_FILE}")
 | ||
| 
 | ||
|     IF(NOT MBEDTLS_FIND_QUIETLY)
 | ||
|         MESSAGE(STATUS "Found mbedTLS:")
 | ||
|         FILE(READ ${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h MBEDTLSCONTENT)
 | ||
|         STRING(REGEX MATCH "MBEDTLS_VERSION_STRING +\"[0-9|.]+\"" MBEDTLSMATCH ${MBEDTLSCONTENT})
 | ||
|         IF (MBEDTLSMATCH)
 | ||
|             STRING(REGEX REPLACE "MBEDTLS_VERSION_STRING +\"([0-9|.]+)\"" "\\1" MBEDTLS_VERSION ${MBEDTLSMATCH})
 | ||
|             MESSAGE(STATUS "  version ${MBEDTLS_VERSION}")
 | ||
|         ENDIF(MBEDTLSMATCH)
 | ||
|         MESSAGE(STATUS "  TLS: ${MBEDTLS_LIBRARY}")
 | ||
|         MESSAGE(STATUS "  X509: ${MBEDX509_LIBRARY}")
 | ||
|         MESSAGE(STATUS "  Crypto: ${MBEDCRYPTO_LIBRARY}")
 | ||
|     ENDIF(NOT MBEDTLS_FIND_QUIETLY)
 | ||
| ELSE(MBEDTLS_FOUND)
 | ||
|     IF(MBEDTLS_FIND_REQUIRED)
 | ||
|         MESSAGE(FATAL_ERROR "Could not find mbedTLS")
 | ||
|     ENDIF(MBEDTLS_FIND_REQUIRED)
 | ||
| ENDIF(MBEDTLS_FOUND)
 | ||
| 
 | ||
| MARK_AS_ADVANCED(
 | ||
|     MBEDTLS_INCLUDE_DIR
 | ||
|     MBEDTLS_LIBRARY_DIR
 | ||
|     MBEDTLS_LIBRARIES
 | ||
|     MBEDTLS_LIBRARY
 | ||
|     MBEDX509_LIBRARY
 | ||
|     MBEDCRYPTO_LIBRARY
 | ||
| )
 |