summaryrefslogtreecommitdiff
path: root/libs/sftp/CMakeLists.txt
diff options
context:
space:
mode:
authorJoel Klinghed <the_jk@spawned.biz>2024-09-25 21:12:24 +0200
committerJoel Klinghed <the_jk@spawned.biz>2024-09-25 21:12:24 +0200
commit28a55fdc69e31490a4086ecae8cc687f40ba0b94 (patch)
tree9bde6e49eb091f912e8a9f8b2853d87f6a932d27 /libs/sftp/CMakeLists.txt
parent07d35782b377a8b98cf8dbbb5734d3f2514bccd5 (diff)
Add libs:sftp
sftp implementation using libssh2 and openssl
Diffstat (limited to 'libs/sftp/CMakeLists.txt')
-rw-r--r--libs/sftp/CMakeLists.txt46
1 files changed, 46 insertions, 0 deletions
diff --git a/libs/sftp/CMakeLists.txt b/libs/sftp/CMakeLists.txt
new file mode 100644
index 0000000..4d6ebda
--- /dev/null
+++ b/libs/sftp/CMakeLists.txt
@@ -0,0 +1,46 @@
+cmake_minimum_required(VERSION 3.12)
+
+project(libssh2
+ VERSION 0.11.0
+ LANGUAGES C CXX)
+
+add_compile_options(-Wno-deprecated-non-prototype -Wno-writable-strings)
+
+option(BUILD_SHARED_LIBS "Build shared libraries" ON)
+
+set(SOVERSION 1 CACHE STRING "" FORCE)
+
+include_directories(
+ ${CMAKE_CURRENT_BINARY_DIR}
+ libssh2/include
+)
+
+set(CRYPTO_BACKEND "OpenSSL")
+if (ANDROID)
+ set(OPENSSL_INCLUDE_DIR ${OPENSSL_BUILD_DIR}/${ANDROID_ABI}/include)
+ set(OPENSSL_CRYPTO_LIBRARY ${OPENSSL_BUILD_DIR}/${ANDROID_ABI}/libcrypto.so)
+ set(OPENSSL_SSL_LIBRARY ${OPENSSL_BUILD_DIR}/${ANDROID_ABI}/libssl.so)
+else()
+ set(OPENSSL_INCLUDE_DIR ${OPENSSL_BUILD_DIR}/host/include)
+ set(OPENSSL_CRYPTO_LIBRARY ${OPENSSL_BUILD_DIR}/host/libcrypto.so)
+ set(OPENSSL_SSL_LIBRARY ${OPENSSL_BUILD_DIR}/host/libssl.so)
+endif()
+
+add_subdirectory(libssh2)
+
+if (ANDROID)
+ find_library(log-lib log)
+else()
+ find_package(JNI)
+ include_directories(${JNI_INCLUDE_DIRS})
+endif()
+
+add_library(
+ sftpjni
+ SHARED
+ src/main/cpp/jni.cpp
+ src/main/cpp/jni.hpp
+ src/main/cpp/sftp.cpp
+)
+
+target_link_libraries(sftpjni libssh2_shared ${log-lib})