CMake wrapper for OpenSSL supporting cross-compilation
CMake script supplying OpenSSL
libraries conveniently, encapsulating the
OpenSSL
build system on various platforms.
To use the system OpenSSL, simply set SYSTEM_OPENSSL=ON
.
Default behaviour is the download of a prebuilt binary. This is only intended as a convenience for debugging purposes and NOT for production use. Available prebuilt binaries can be viewed here.
In order to build OpenSSL
, set BUILD_OPENSSL=ON
along with the branch or
tag name, for example OPENSSL_BRANCH=OpenSSL_1_1_0g
.
Cross compilation is enabled using CROSS=ON
and the target is specified using
CROSS_TARGET=mingw
along with the optional CROSS_PREFIX=mingw32-
.
Android requires a special CROSS_ANDROID=ON
. Using OpenSSL-CMake
from
Gradle's native build does not require additional settings. Otherwise, it is
required to set the general NDK variables ANDROID_NDK_ROOT
, ANDROID_EABI
,
ANDROID_ARCH
, ANDROID_API
, ANDROID_MACHINE
.
Cross compile was tested with NDK r18b, r19c and r20.
OpenSSL-CMake
as a submodule to your Git project using git submodule add <URL> external/openssl-cmake
git submodule update --init
CMakeLists.txt
include the directory using
add_subdirectory(external/openssl-cmake)
ssl
and crypto
targets, which will also include the headersThese scripts, unless otherwise stated, are subject to the MIT license.