summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2021-09-14 09:53:15 -0400
committerGitHub <noreply@github.com>2021-09-14 09:53:15 -0400
commit7d195b9c3ddffb9f9af94dcabaeb4fc77fafa378 (patch)
tree8d41b5257172687f12ff88014a1ef0b0c8b9e4cb
parent646bae34c9962d308ea82c5d03f5862d20fcca02 (diff)
parent413bfb83b2dfde9482a756fbcd1d5f5ba9315696 (diff)
downloadlibgit2-7d195b9c3ddffb9f9af94dcabaeb4fc77fafa378.tar.gz
Merge pull request #6053 from stac47/ssh2_discovery
Discover libssh2 without pkg-config
-rw-r--r--cmake/FindLibSSH2.cmake13
-rw-r--r--src/CMakeLists.txt7
2 files changed, 20 insertions, 0 deletions
diff --git a/cmake/FindLibSSH2.cmake b/cmake/FindLibSSH2.cmake
new file mode 100644
index 000000000..ff5893525
--- /dev/null
+++ b/cmake/FindLibSSH2.cmake
@@ -0,0 +1,13 @@
+# LIBSSH2_FOUND - system has the libssh2 library
+# LIBSSH2_INCLUDE_DIR - the libssh2 include directory
+# LIBSSH2_LIBRARY - the libssh2 library name
+
+FIND_PATH(LIBSSH2_INCLUDE_DIR libssh2.h)
+
+FIND_LIBRARY(LIBSSH2_LIBRARY NAMES ssh2 libssh2)
+
+INCLUDE(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(LibSSH2
+ REQUIRED_VARS LIBSSH2_LIBRARY LIBSSH2_INCLUDE_DIR)
+
+MARK_AS_ADVANCED(LIBSSH2_INCLUDE_DIR LIBSSH2_LIBRARY)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 45dec2796..fdb367335 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -232,6 +232,13 @@ ENDIF()
# Optional external dependency: libssh2
IF (USE_SSH)
FIND_PKGLIBRARIES(LIBSSH2 libssh2)
+ IF (NOT LIBSSH2_FOUND)
+ FIND_PACKAGE(LibSSH2)
+ SET(LIBSSH2_INCLUDE_DIRS ${LIBSSH2_INCLUDE_DIR})
+ GET_FILENAME_COMPONENT(LIBSSH2_LIBRARY_DIRS "${LIBSSH2_LIBRARY}" DIRECTORY)
+ SET(LIBSSH2_LIBRARIES ${LIBSSH2_LIBRARY})
+ SET(LIBSSH2_LDFLAGS "-lssh2")
+ ENDIF()
ENDIF()
IF (LIBSSH2_FOUND)
SET(GIT_SSH 1)