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})