iOS - libssh with mbedtls build
This commit is contained in:
parent
6bf170e273
commit
698dfb67d1
4 changed files with 66 additions and 42 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -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
1
client/3rd/mbedtls
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 8c89224991adff88d53cd380f42a2baa36f91454
|
|
@ -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)
|
||||||
|
|
|
@ -21,52 +21,73 @@ 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)
|
||||||
set(OPENSSL_ROOT_DIR "${CMAKE_CURRENT_BINARY_DIR}/3rd/OpenSSL")
|
add_subdirectory(${CLIENT_ROOT_DIR}/3rd/mbedtls)
|
||||||
set(OPENSSL_INCLUDE_DIR "${OPENSSL_ROOT_DIR}/include")
|
set(WITH_MBEDTLS ON CACHE BOOL "" FORCE)
|
||||||
set(OPENSSL_LIBRARIES_DIR "${OPENSSL_ROOT_DIR}/lib")
|
set(WITH_GCRYPT OFF CACHE BOOL "" FORCE)
|
||||||
set(OPENSSL_LIBRARIES "ssl" "crypto")
|
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)
|
||||||
|
|
||||||
set(OPENSSL_PATH "${CLIENT_ROOT_DIR}/3rd/OpenSSL")
|
include_directories(${CLIENT_ROOT_DIR}/3rd/mbedtls/include)
|
||||||
if(WIN32)
|
else(IOS)
|
||||||
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
if(NOT LINUX)
|
||||||
set(OPENSSL_LIB_SSL_PATH "${OPENSSL_PATH}/lib/windows/x86_64/libssl.lib")
|
set(OPENSSL_ROOT_DIR "${CMAKE_CURRENT_BINARY_DIR}/3rd/OpenSSL")
|
||||||
set(OPENSSL_LIB_CRYPTO_PATH "${OPENSSL_PATH}/lib/windows/x86_64/libcrypto.lib")
|
set(OPENSSL_INCLUDE_DIR "${OPENSSL_ROOT_DIR}/include")
|
||||||
else()
|
set(OPENSSL_LIBRARIES_DIR "${OPENSSL_ROOT_DIR}/lib")
|
||||||
set(OPENSSL_LIB_SSL_PATH "${OPENSSL_PATH}/lib/windows/x86/libssl.lib")
|
set(OPENSSL_LIBRARIES "ssl" "crypto")
|
||||||
set(OPENSSL_LIB_CRYPTO_PATH "${OPENSSL_PATH}/lib/windows/x86/libcrypto.lib")
|
|
||||||
|
set(OPENSSL_PATH "${CLIENT_ROOT_DIR}/3rd/OpenSSL")
|
||||||
|
if(WIN32)
|
||||||
|
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
||||||
|
set(OPENSSL_LIB_SSL_PATH "${OPENSSL_PATH}/lib/windows/x86_64/libssl.lib")
|
||||||
|
set(OPENSSL_LIB_CRYPTO_PATH "${OPENSSL_PATH}/lib/windows/x86_64/libcrypto.lib")
|
||||||
|
else()
|
||||||
|
set(OPENSSL_LIB_SSL_PATH "${OPENSSL_PATH}/lib/windows/x86/libssl.lib")
|
||||||
|
set(OPENSSL_LIB_CRYPTO_PATH "${OPENSSL_PATH}/lib/windows/x86/libcrypto.lib")
|
||||||
|
endif()
|
||||||
|
elseif(APPLE AND NOT IOS)
|
||||||
|
set(OPENSSL_LIB_SSL_PATH "${OPENSSL_PATH}/lib/macos/x86_64/libssl.a")
|
||||||
|
set(OPENSSL_LIB_CRYPTO_PATH "${OPENSSL_PATH}/lib/macos/x86_64/libcrypto.a")
|
||||||
|
elseif(IOS)
|
||||||
|
set(OPENSSL_CRYPTO_LIBRARY "${OPENSSL_LIBRARIES_DIR}/libcrypto.a")
|
||||||
|
set(OPENSSL_SSL_LIBRARY "${OPENSSL_LIBRARIES_DIR}/libssl.a")
|
||||||
|
set(OPENSSL_LIB_SSL_PATH "${OPENSSL_PATH}/lib/ios/iphone/libssl.a")
|
||||||
|
set(OPENSSL_LIB_CRYPTO_PATH "${OPENSSL_PATH}/lib/ios/iphone/libcrypto.a")
|
||||||
|
elseif(ANDROID)
|
||||||
|
set(abi ${CMAKE_ANDROID_ARCH_ABI})
|
||||||
|
|
||||||
|
set(OPENSSL_CRYPTO_LIBRARY "${OPENSSL_LIBRARIES_DIR}/android/${abi}/libcrypto.a")
|
||||||
|
set(OPENSSL_SSL_LIBRARY "${OPENSSL_LIBRARIES_DIR}/android/${abi}/libssl.a")
|
||||||
|
set(OPENSSL_LIB_SSL_PATH "${OPENSSL_PATH}/lib/android/${abi}/libssl.a")
|
||||||
|
set(OPENSSL_LIB_CRYPTO_PATH "${OPENSSL_PATH}/lib/android/${abi}/libcrypto.a")
|
||||||
|
|
||||||
|
set(OPENSSL_LIBRARIES_DIR "${OPENSSL_LIBRARIES_DIR}/android/${abi}")
|
||||||
endif()
|
endif()
|
||||||
elseif(APPLE AND NOT IOS)
|
|
||||||
set(OPENSSL_LIB_SSL_PATH "${OPENSSL_PATH}/lib/macos/x86_64/libssl.a")
|
|
||||||
set(OPENSSL_LIB_CRYPTO_PATH "${OPENSSL_PATH}/lib/macos/x86_64/libcrypto.a")
|
|
||||||
elseif(IOS)
|
|
||||||
set(OPENSSL_CRYPTO_LIBRARY "${OPENSSL_LIBRARIES_DIR}/libcrypto.a")
|
|
||||||
set(OPENSSL_SSL_LIBRARY "${OPENSSL_LIBRARIES_DIR}/libssl.a")
|
|
||||||
set(OPENSSL_LIB_SSL_PATH "${OPENSSL_PATH}/lib/ios/iphone/libssl.a")
|
|
||||||
set(OPENSSL_LIB_CRYPTO_PATH "${OPENSSL_PATH}/lib/ios/iphone/libcrypto.a")
|
|
||||||
elseif(ANDROID)
|
|
||||||
set(abi ${CMAKE_ANDROID_ARCH_ABI})
|
|
||||||
|
|
||||||
set(OPENSSL_CRYPTO_LIBRARY "${OPENSSL_LIBRARIES_DIR}/android/${abi}/libcrypto.a")
|
file(COPY ${OPENSSL_LIB_SSL_PATH} ${OPENSSL_LIB_CRYPTO_PATH}
|
||||||
set(OPENSSL_SSL_LIBRARY "${OPENSSL_LIBRARIES_DIR}/android/${abi}/libssl.a")
|
DESTINATION ${OPENSSL_LIBRARIES_DIR})
|
||||||
set(OPENSSL_LIB_SSL_PATH "${OPENSSL_PATH}/lib/android/${abi}/libssl.a")
|
file(COPY "${OPENSSL_PATH}/include"
|
||||||
set(OPENSSL_LIB_CRYPTO_PATH "${OPENSSL_PATH}/lib/android/${abi}/libcrypto.a")
|
DESTINATION ${OPENSSL_ROOT_DIR})
|
||||||
|
|
||||||
set(OPENSSL_LIBRARIES_DIR "${OPENSSL_LIBRARIES_DIR}/android/${abi}")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
file(COPY ${OPENSSL_LIB_SSL_PATH} ${OPENSSL_LIB_CRYPTO_PATH}
|
set(OPENSSL_USE_STATIC_LIBS TRUE)
|
||||||
DESTINATION ${OPENSSL_LIBRARIES_DIR})
|
find_package(OpenSSL REQUIRED)
|
||||||
file(COPY "${OPENSSL_PATH}/include"
|
set(LIBS ${LIBS}
|
||||||
DESTINATION ${OPENSSL_ROOT_DIR})
|
OpenSSL::Crypto
|
||||||
endif()
|
OpenSSL::SSL
|
||||||
|
)
|
||||||
set(OPENSSL_USE_STATIC_LIBS TRUE)
|
endif(IOS)
|
||||||
find_package(OpenSSL REQUIRED)
|
|
||||||
set(LIBS ${LIBS}
|
|
||||||
OpenSSL::Crypto
|
|
||||||
OpenSSL::SSL
|
|
||||||
)
|
|
||||||
|
|
||||||
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)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue