# Copyright (C) The libssh2 project and its contributors. # SPDX-License-Identifier: BSD-3-Clause option(LIBSSH2_USE_PKGCONFIG "Enable pkg-config to detect @PROJECT_NAME@ dependencies. Default: @LIBSSH2_USE_PKGCONFIG@" "@LIBSSH2_USE_PKGCONFIG@") include(CMakeFindDependencyMacro) list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) set(_lib "") if("@CRYPTO_BACKEND@" STREQUAL "OpenSSL") find_dependency(OpenSSL) elseif("@CRYPTO_BACKEND@" STREQUAL "wolfSSL") find_dependency(WolfSSL) set(_lib libssh2::wolfssl) elseif("@CRYPTO_BACKEND@" STREQUAL "Libgcrypt") find_dependency(Libgcrypt) set(_lib libssh2::libgcrypt) elseif("@CRYPTO_BACKEND@" STREQUAL "mbedTLS") find_dependency(MbedTLS) set(_lib libssh2::mbedcrypto) endif() if(@ZLIB_FOUND@) find_dependency(ZLIB) endif() include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake") # Alias for either shared or static library if(NOT TARGET @PROJECT_NAME@::@LIB_NAME@) add_library(@PROJECT_NAME@::@LIB_NAME@ ALIAS @PROJECT_NAME@::@LIB_SELECTED@) endif() # Compatibility alias if(NOT TARGET Libssh2::@LIB_NAME@) add_library(Libssh2::@LIB_NAME@ ALIAS @PROJECT_NAME@::@LIB_SELECTED@) endif() cmake_policy(GET CMP0099 _has_CMP0099) # https://cmake.org/cmake/help/latest/policy/CMP0099.html if(NOT _has_CMP0099 AND _lib) message(STATUS "libssh2: CMP0099 not detected, resorting to workaround.") # CMake before CMP0099 (CMake 3.17 2020-03-20) did not endorse the concept of libdirs and lib names. # It expected libs to have an absolute filename. As a workaround, manually apply dependency libdirs # to the libssh2 target, for CMake consumers without this policy set. get_target_property(_libdirs "${_lib}" INTERFACE_LINK_DIRECTORIES) if(_libdirs) foreach(_target IN ITEMS @PROJECT_NAME@::@LIB_SHARED@ @PROJECT_NAME@::@LIB_STATIC@) if(TARGET "${_target}") target_link_directories("${_target}" INTERFACE ${_libdirs}) endif() endforeach() endif() endif()