summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Stacul <laurent.stacul@amadeus.com>2021-09-14 09:53:24 +0000
committerLaurent Stacul <laurent.stacul@amadeus.com>2021-09-14 09:53:24 +0000
commit0a3a220fa9eba8cf9f8e250509958c2131b0a3c6 (patch)
treec97664bd636f393655b662e37ff4a118da0d2de0
parentf1b89a201e9329e6df48f8d6cf320781570c936a (diff)
downloadlibgit2-0a3a220fa9eba8cf9f8e250509958c2131b0a3c6.tar.gz
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..c3029a99f 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)