iOS - libssh with mbedtls build

This commit is contained in:
bakhtiyork 2023-03-24 11:25:00 +05:00
parent 6bf170e273
commit 698dfb67d1
4 changed files with 66 additions and 42 deletions

3
.gitmodules vendored
View file

@ -37,3 +37,6 @@
[submodule "client/3rd/SortFilterProxyModel"] [submodule "client/3rd/SortFilterProxyModel"]
path = client/3rd/SortFilterProxyModel path = client/3rd/SortFilterProxyModel
url = https://github.com/mitchcurtis/SortFilterProxyModel.git url = https://github.com/mitchcurtis/SortFilterProxyModel.git
[submodule "client/3rd/mbedtls"]
path = client/3rd/mbedtls
url = https://github.com/Mbed-TLS/mbedtls.git

1
client/3rd/mbedtls Submodule

@ -0,0 +1 @@
Subproject commit 8c89224991adff88d53cd380f42a2baa36f91454

View file

@ -481,7 +481,6 @@ if(IOS)
set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_STYLE Manual) set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_STYLE Manual)
set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER "match AppStore org.amnezia.AmneziaVPN.network-extension") set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER "match AppStore org.amnezia.AmneziaVPN.network-extension")
set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER[variant=Debug] "match Development org.amnezia.AmneziaVPN.network-extension") set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER[variant=Debug] "match Development org.amnezia.AmneziaVPN.network-extension")
endif() endif()
if(ANDROID) if(ANDROID)

View file

@ -21,7 +21,27 @@ set(ZLIB_INCLUDE_DIR "${CLIENT_ROOT_DIR}/3rd/zlib" "${CMAKE_CURRENT_BINARY_DIR}/
link_directories(${CMAKE_CURRENT_BINARY_DIR}/3rd/zlib) link_directories(${CMAKE_CURRENT_BINARY_DIR}/3rd/zlib)
link_libraries(${ZLIB_LIBRARY}) link_libraries(${ZLIB_LIBRARY})
if(NOT LINUX) if(IOS)
add_subdirectory(${CLIENT_ROOT_DIR}/3rd/mbedtls)
set(WITH_MBEDTLS ON CACHE BOOL "" FORCE)
set(WITH_GCRYPT OFF CACHE BOOL "" FORCE)
set(WITH_EXAMPLES OFF CACHE BOOL "" FORCE)
set(ENABLE_PROGRAMS OFF CACHE BOOL "" FORCE)
set(ENABLE_TESTING OFF CACHE BOOL "" FORCE)
set(HAVE_LIBCRYPTO OFF CACHE BOOL "" FORCE)
set(MBEDTLS_ROOT_DIR "${CMAKE_CURRENT_BINARY_DIR}/3rd/mbedtls" CACHE PATH "" FORCE)
set(MBEDTLS_INCLUDE_DIR "${CLIENT_ROOT_DIR}/3rd/mbedtls/include" CACHE PATH "" FORCE)
set(MBEDTLS_LIBRARIES "mbedtls" "mbedx509" "mbedcrypto" CACHE STRING "" FORCE)
set(MBEDTLS_FOUND TRUE CACHE BOOL "" FORCE)
set(MBEDTLS_CRYPTO_LIBRARY "mbedcrypto" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMBEDTLS_ALLOW_PRIVATE_ACCESS")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMBEDTLS_ALLOW_PRIVATE_ACCESS")
set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
set(WITH_STATIC_LIB ON CACHE BOOL "" FORCE)
include_directories(${CLIENT_ROOT_DIR}/3rd/mbedtls/include)
else(IOS)
if(NOT LINUX)
set(OPENSSL_ROOT_DIR "${CMAKE_CURRENT_BINARY_DIR}/3rd/OpenSSL") set(OPENSSL_ROOT_DIR "${CMAKE_CURRENT_BINARY_DIR}/3rd/OpenSSL")
set(OPENSSL_INCLUDE_DIR "${OPENSSL_ROOT_DIR}/include") set(OPENSSL_INCLUDE_DIR "${OPENSSL_ROOT_DIR}/include")
set(OPENSSL_LIBRARIES_DIR "${OPENSSL_ROOT_DIR}/lib") set(OPENSSL_LIBRARIES_DIR "${OPENSSL_ROOT_DIR}/lib")
@ -59,14 +79,15 @@ if(NOT LINUX)
DESTINATION ${OPENSSL_LIBRARIES_DIR}) DESTINATION ${OPENSSL_LIBRARIES_DIR})
file(COPY "${OPENSSL_PATH}/include" file(COPY "${OPENSSL_PATH}/include"
DESTINATION ${OPENSSL_ROOT_DIR}) DESTINATION ${OPENSSL_ROOT_DIR})
endif() endif()
set(OPENSSL_USE_STATIC_LIBS TRUE) set(OPENSSL_USE_STATIC_LIBS TRUE)
find_package(OpenSSL REQUIRED) find_package(OpenSSL REQUIRED)
set(LIBS ${LIBS} set(LIBS ${LIBS}
OpenSSL::Crypto OpenSSL::Crypto
OpenSSL::SSL OpenSSL::SSL
) )
endif(IOS)
set(WITH_GSSAPI OFF CACHE BOOL "" FORCE) set(WITH_GSSAPI OFF CACHE BOOL "" FORCE)
set(WITH_EXAMPLES OFF CACHE BOOL "" FORCE) set(WITH_EXAMPLES OFF CACHE BOOL "" FORCE)