mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-07-04 09:22:27 +03:00
cmake: Fixed compatibility issues with "CPM.cmake" in combination with the libraries MBedTLS and libgcrypt.
Signed-off-by: Davidwed <davidwe@posteo.de>
Reviewed-by: Jakub Jelen <jjelen@redhat.com>
(cherry picked from commit 7712c7d0f9
)
This commit is contained in:
@ -39,6 +39,15 @@ find_path(GCRYPT_INCLUDE_DIR
|
|||||||
include
|
include
|
||||||
)
|
)
|
||||||
|
|
||||||
|
find_path(GCRYPT_ERROR_INCLUDE_DIR
|
||||||
|
NAMES
|
||||||
|
gpg-error.h
|
||||||
|
HINTS
|
||||||
|
${_GCRYPT_ROOT_HINTS_AND_PATHS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
find_library(GCRYPT_LIBRARY
|
find_library(GCRYPT_LIBRARY
|
||||||
NAMES
|
NAMES
|
||||||
gcrypt
|
gcrypt
|
||||||
@ -56,8 +65,10 @@ find_library(GCRYPT_ERROR_LIBRARY
|
|||||||
libgpg-error6-0
|
libgpg-error6-0
|
||||||
HINTS
|
HINTS
|
||||||
${_GCRYPT_ROOT_HINTS_AND_PATHS}
|
${_GCRYPT_ROOT_HINTS_AND_PATHS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
lib
|
||||||
)
|
)
|
||||||
set(GCRYPT_LIBRARIES ${GCRYPT_LIBRARY} ${GCRYPT_ERROR_LIBRARY})
|
set(GCRYPT_LIBRARIES ${GCRYPT_ERROR_LIBRARY} ${GCRYPT_LIBRARY})
|
||||||
|
|
||||||
if (GCRYPT_INCLUDE_DIR)
|
if (GCRYPT_INCLUDE_DIR)
|
||||||
file(STRINGS "${GCRYPT_INCLUDE_DIR}/gcrypt.h" _gcrypt_version_str REGEX "^#define GCRYPT_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]")
|
file(STRINGS "${GCRYPT_INCLUDE_DIR}/gcrypt.h" _gcrypt_version_str REGEX "^#define GCRYPT_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]")
|
||||||
@ -83,5 +94,25 @@ else (GCRYPT_VERSION)
|
|||||||
GCRYPT_LIBRARIES)
|
GCRYPT_LIBRARIES)
|
||||||
endif (GCRYPT_VERSION)
|
endif (GCRYPT_VERSION)
|
||||||
|
|
||||||
# show the GCRYPT_INCLUDE_DIRS and GCRYPT_LIBRARIES variables only in the advanced view
|
# show the GCRYPT_INCLUDE_DIRS, GCRYPT_LIBRARIES and GCRYPT_ERROR_INCLUDE_DIR variables only in the advanced view
|
||||||
mark_as_advanced(GCRYPT_INCLUDE_DIR GCRYPT_LIBRARIES)
|
mark_as_advanced(GCRYPT_INCLUDE_DIR GCRYPT_ERROR_INCLUDE_DIR GCRYPT_LIBRARIES)
|
||||||
|
|
||||||
|
if(GCRYPT_FOUND)
|
||||||
|
if(NOT TARGET libgcrypt::libgcrypt)
|
||||||
|
add_library(libgcrypt::libgcrypt UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(libgcrypt::libgcrypt PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${GCRYPT_INCLUDE_DIR}"
|
||||||
|
INTERFACE_LINK_LIBRARIES libgcrypt::libgcrypt
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||||
|
IMPORTED_LOCATION "${GCRYPT_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT TARGET libgpg-error::libgpg-error)
|
||||||
|
add_library(libgpg-error::libgpg-error UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(libgpg-error::libgpg-error PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${GCRYPT_ERROR_INCLUDE_DIR}"
|
||||||
|
INTERFACE_LINK_LIBRARIES libgpg-error::libgpg-error
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||||
|
IMPORTED_LOCATION "${GCRYPT_ERROR_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
@ -110,3 +110,32 @@ endif (MBEDTLS_VERSION)
|
|||||||
|
|
||||||
# show the MBEDTLS_INCLUDE_DIRS and MBEDTLS_LIBRARIES variables only in the advanced view
|
# show the MBEDTLS_INCLUDE_DIRS and MBEDTLS_LIBRARIES variables only in the advanced view
|
||||||
mark_as_advanced(MBEDTLS_INCLUDE_DIR MBEDTLS_LIBRARIES)
|
mark_as_advanced(MBEDTLS_INCLUDE_DIR MBEDTLS_LIBRARIES)
|
||||||
|
|
||||||
|
if(MBEDTLS_FOUND)
|
||||||
|
if(NOT TARGET MbedTLS::mbedcrypto)
|
||||||
|
add_library(MbedTLS::mbedcrypto UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(MbedTLS::mbedcrypto PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${MBEDTLS_INCLUDE_DIR}"
|
||||||
|
INTERFACE_LINK_LIBRARIES MbedTLS::mbedcrypto
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||||
|
IMPORTED_LOCATION "${MBEDTLS_CRYPTO_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT TARGET MbedTLS::mbedx509)
|
||||||
|
add_library(MbedTLS::mbedx509 UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(MbedTLS::mbedx509 PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${MBEDTLS_INCLUDE_DIR}"
|
||||||
|
INTERFACE_LINK_LIBRARIES MbedTLS::mbedx509
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||||
|
IMPORTED_LOCATION "${MBEDTLS_X509_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT TARGET MbedTLS::mbedtls)
|
||||||
|
add_library(MbedTLS::mbedtls UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(MbedTLS::mbedtls PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${MBEDTLS_INCLUDE_DIR}"
|
||||||
|
INTERFACE_LINK_LIBRARIES MbedTLS::mbedtls
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||||
|
IMPORTED_LOCATION "${MBEDTLS_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
set(LIBSSH_PUBLIC_INCLUDE_DIRS ${libssh_SOURCE_DIR}/include)
|
set(LIBSSH_PUBLIC_INCLUDE_DIRS ${libssh_SOURCE_DIR}/include)
|
||||||
|
|
||||||
set(LIBSSH_PRIVATE_INCLUDE_DIRS
|
set(LIBSSH_PRIVATE_INCLUDE_DIRS
|
||||||
|
${libssh_BINARY_DIR}/include
|
||||||
${libssh_BINARY_DIR}
|
${libssh_BINARY_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -12,27 +13,13 @@ if (TARGET OpenSSL::Crypto)
|
|||||||
list(APPEND LIBSSH_LINK_LIBRARIES OpenSSL::Crypto)
|
list(APPEND LIBSSH_LINK_LIBRARIES OpenSSL::Crypto)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (MBEDTLS_CRYPTO_LIBRARY)
|
if (TARGET MbedTLS::mbedcrypto)
|
||||||
set(LIBSSH_PRIVATE_INCLUDE_DIRS
|
list(APPEND LIBSSH_LINK_LIBRARIES MbedTLS::mbedcrypto)
|
||||||
${LIBSSH_PRIVATE_INCLUDE_DIRS}
|
endif ()
|
||||||
${MBEDTLS_INCLUDE_DIR}
|
|
||||||
)
|
|
||||||
set(LIBSSH_LINK_LIBRARIES
|
|
||||||
${LIBSSH_LINK_LIBRARIES}
|
|
||||||
${MBEDTLS_CRYPTO_LIBRARY}
|
|
||||||
)
|
|
||||||
endif (MBEDTLS_CRYPTO_LIBRARY)
|
|
||||||
|
|
||||||
if (GCRYPT_LIBRARIES)
|
if (TARGET libgcrypt::libgcrypt)
|
||||||
set(LIBSSH_PRIVATE_INCLUDE_DIRS
|
list(APPEND LIBSSH_LINK_LIBRARIES ${GCRYPT_LIBRARIES})
|
||||||
${LIBSSH_PRIVATE_INCLUDE_DIRS}
|
endif ()
|
||||||
${GCRYPT_INCLUDE_DIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
set(LIBSSH_LINK_LIBRARIES
|
|
||||||
${LIBSSH_LINK_LIBRARIES}
|
|
||||||
${GCRYPT_LIBRARIES})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (WITH_ZLIB)
|
if (WITH_ZLIB)
|
||||||
list(APPEND LIBSSH_LINK_LIBRARIES ZLIB::ZLIB)
|
list(APPEND LIBSSH_LINK_LIBRARIES ZLIB::ZLIB)
|
||||||
|
Reference in New Issue
Block a user