| project(Conscrypt) |
| cmake_minimum_required(VERSION 3.22.1) |
| add_library(conscrypt_jni |
| SHARED |
| ../common/src/jni/main/cpp/conscrypt/compatibility_close_monitor.cc |
| ../common/src/jni/main/cpp/conscrypt/jniload.cc |
| ../common/src/jni/main/cpp/conscrypt/jniutil.cc |
| ../common/src/jni/main/cpp/conscrypt/native_crypto.cc |
| ../common/src/jni/main/cpp/conscrypt/netutil.cc |
| ) |
| include_directories(../common/src/jni/main/include/ |
| ../common/src/jni/unbundled/include/ |
| ${BORINGSSL_HOME}/include) |
| |
| find_library(android-log-lib log) |
| target_link_libraries(conscrypt_jni ${android-log-lib} ssl crypto) |
| |
| add_definitions(-DANDROID |
| -fvisibility=hidden |
| -DBORINGSSL_SHARED_LIBRARY |
| -DBORINGSSL_IMPLEMENTATION |
| -DOPENSSL_SMALL |
| -D_XOPEN_SOURCE=700 |
| -Wno-unused-parameter |
| # The following two lines are taken from BoringSSL's build file. As written there: |
| # |
| # Clang's -Wtautological-constant-compare is far too aggressive and does not |
| # account for, say, wanting the same code to work on both 32-bit and 64-bit |
| # platforms. |
| # |
| # TODO: Remove these when the NDK no longer includes a version that has |
| # -Wtautological-constant-compare enabled as part of -Wall |
| -Wno-tautological-constant-compare |
| -Wtautological-constant-out-of-range-compare) |
| |
| if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") |
| set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -march=armv8-a+crypto") |
| endif() |
| |
| add_subdirectory(${BORINGSSL_HOME} ${CMAKE_CURRENT_BINARY_DIR}/boringssl) |