Warning, /network/krdc/cmake/modules/FindLibSSH.cmake is written in an unsupported language. File is not indexed.

0001 # - Try to find LibSSH
0002 # Once done this will define
0003 #
0004 #  LIBSSH_FOUND - system has LibSSH
0005 #  LIBSSH_INCLUDE_DIR - the LibSSH include directory
0006 #  LIBSSH_LIBRARIES - Link these to use LibSSH
0007 #
0008 # SPDX-FileCopyrightText: 2009-2014 Andreas Schneider <asn@cryptomilk.org>
0009 #
0010 # SPDX-License-Identifier: BSD-3-Clause
0011 
0012 find_path(LIBSSH_INCLUDE_DIR
0013   NAMES
0014     libssh/libssh.h
0015   PATHS
0016     /usr/include
0017     /usr/local/include
0018     /opt/local/include
0019     /sw/include
0020     ${CMAKE_INCLUDE_PATH}
0021     ${CMAKE_INSTALL_PREFIX}/include
0022 )
0023 
0024 find_library(SSH_LIBRARY
0025   NAMES
0026     ssh
0027     libssh
0028   PATHS
0029     /usr/lib
0030     /usr/local/lib
0031     /opt/local/lib
0032     /sw/lib
0033     ${CMAKE_LIBRARY_PATH}
0034     ${CMAKE_INSTALL_PREFIX}/lib
0035 )
0036 
0037 set(LIBSSH_LIBRARIES
0038     ${LIBSSH_LIBRARIES}
0039     ${SSH_LIBRARY}
0040 )
0041 
0042 if (LIBSSH_INCLUDE_DIR AND LibSSH_FIND_VERSION)
0043   file(STRINGS ${LIBSSH_INCLUDE_DIR}/libssh/libssh.h LIBSSH_VERSION_MAJOR
0044     REGEX "#define[ ]+LIBSSH_VERSION_MAJOR[ ]+[0-9]+")
0045 
0046   # Older versions of libssh like libssh-0.2 have LIBSSH_VERSION but not LIBSSH_VERSION_MAJOR
0047   if (LIBSSH_VERSION_MAJOR)
0048     string(REGEX MATCH "[0-9]+" LIBSSH_VERSION_MAJOR ${LIBSSH_VERSION_MAJOR})
0049     file(STRINGS ${LIBSSH_INCLUDE_DIR}/libssh/libssh.h LIBSSH_VERSION_MINOR
0050       REGEX "#define[ ]+LIBSSH_VERSION_MINOR[ ]+[0-9]+")
0051     string(REGEX MATCH "[0-9]+" LIBSSH_VERSION_MINOR ${LIBSSH_VERSION_MINOR})
0052     file(STRINGS ${LIBSSH_INCLUDE_DIR}/libssh/libssh.h LIBSSH_VERSION_PATCH
0053       REGEX "#define[ ]+LIBSSH_VERSION_MICRO[ ]+[0-9]+")
0054     string(REGEX MATCH "[0-9]+" LIBSSH_VERSION_PATCH ${LIBSSH_VERSION_PATCH})
0055 
0056     set(LIBSSH_VERSION ${LIBSSH_VERSION_MAJOR}.${LIBSSH_VERSION_MINOR}.${LIBSSH_VERSION_PATCH})
0057 
0058   else (LIBSSH_VERSION_MAJOR)
0059     message(STATUS "LIBSSH_VERSION_MAJOR not found in ${LIBSSH_INCLUDE_DIR}/libssh/libssh.h, assuming libssh is too old")
0060     set(LIBSSH_FOUND FALSE)
0061   endif (LIBSSH_VERSION_MAJOR)
0062 endif (LIBSSH_INCLUDE_DIR AND LibSSH_FIND_VERSION)
0063 
0064 # If the version is too old, but libs and includes are set,
0065 # find_package_handle_standard_args will set LIBSSH_FOUND to TRUE again,
0066 # so we need this if() here.
0067 include(FindPackageHandleStandardArgs)
0068 find_package_handle_standard_args(LibSSH
0069                                   REQUIRED_VARS
0070                                     LIBSSH_LIBRARIES
0071                                     LIBSSH_INCLUDE_DIR
0072                                   VERSION_VAR
0073                                     LIBSSH_VERSION)
0074 
0075 # show the LIBSSH_INCLUDE_DIRS and LIBSSH_LIBRARIES variables only in the advanced view
0076 mark_as_advanced(LIBSSH_INCLUDE_DIR LIBSSH_LIBRARIES)