Files
android_openssl/README.md
T

61 lines
1.8 KiB
Markdown
Raw Normal View History

2020-03-02 12:00:03 +02:00
# Android OpenSSL support for Qt
OpenSSL scripts and binaries for Android (useful for Qt Android apps)
2019-01-16 13:36:53 +02:00
In this repo you can find the prebuilt OpenSSL libs for Android, a QMake include project `.pri` file that can be used integrated with Qt projects, and a `.cmake` file for CMake based projects.
2019-07-12 09:18:32 +03:00
2020-03-02 12:00:03 +02:00
The following directories are available
* `ssl_3`: for Qt 6.5.0+.
2023-03-27 11:31:26 +03:00
* `ssl_1_1`: for Qt Qt 5.12.5+, 5.13.1+, 5.14.0+, 5.15.0+, Qt 6.x.x up to 6.4.x
2019-06-12 09:53:26 +03:00
2023-03-27 11:31:26 +03:00
## How to use it
### QMake based projects
To add OpenSSL to your QMake project, append the following to your `.pro` project file:
2020-03-05 15:43:44 +02:00
2019-06-12 09:53:26 +03:00
```
2020-03-05 15:43:44 +02:00
android: include(<path/to/android_openssl/openssl.pri)
```
### CMake based projects
To add OpenSSL to your CMake project, append the following to your project's `CMakeLists.txt` file:
2020-03-05 15:43:44 +02:00
```
if (ANDROID)
FetchContent_Declare(
android_openssl
DOWNLOAD_EXTRACT_TIMESTAMP true
URL https://github.com/KDAB/android_openssl/archive/refs/heads/master.zip
# URL_HASH MD5=c97d6ad774fab16be63b0ab40f78d945 #optional
)
FetchContent_MakeAvailable(android_openssl)
include(${android_openssl_SOURCE_DIR}/android_openssl.cmake)
2020-03-05 15:43:44 +02:00
endif()
```
or, if you cloned the repository into a subdirectory:
```
include(<path/to/android_openssl>/android_openssl.cmake)
```
Then
```
qt_add_executable(your_target_name ..)
qt_add_executable(your_second_target_name ..)
if (ANDROID)
add_android_openssl_libraries(your_target_name your_second_target_name)
endif()
2019-06-12 09:53:26 +03:00
```
## Build Script
The build script `build_ssl.sh` can be used to rebuild the OpenSSL libraries. Since specific
versions might depend or work better with specific NDK versions, the OpenSSL/NDK version
combinations are defined in the script. Before running the script, check that the NDK paths
are correct for your environment.
### Build Prerequisites
The build script was tested against `bash` and `zsh` on Linux and macOS.