From 28a55fdc69e31490a4086ecae8cc687f40ba0b94 Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Wed, 25 Sep 2024 21:12:24 +0200 Subject: Add libs:sftp sftp implementation using libssh2 and openssl --- libs/sftp/CMakeLists.txt | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 libs/sftp/CMakeLists.txt (limited to 'libs/sftp/CMakeLists.txt') 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}) -- cgit v1.2.3-70-g09d2