xref: /aosp_15_r20/external/conscrypt/android/CMakeLists.txt (revision cd0cc2e34ba52cdf454361820a14d744e4bd531d)
1*cd0cc2e3SAndroid Build Coastguard Workerproject(Conscrypt)
2*cd0cc2e3SAndroid Build Coastguard Workercmake_minimum_required(VERSION 3.22.1)
3*cd0cc2e3SAndroid Build Coastguard Workeradd_library(conscrypt_jni
4*cd0cc2e3SAndroid Build Coastguard Worker            SHARED
5*cd0cc2e3SAndroid Build Coastguard Worker            ../common/src/jni/main/cpp/conscrypt/compatibility_close_monitor.cc
6*cd0cc2e3SAndroid Build Coastguard Worker            ../common/src/jni/main/cpp/conscrypt/jniload.cc
7*cd0cc2e3SAndroid Build Coastguard Worker            ../common/src/jni/main/cpp/conscrypt/jniutil.cc
8*cd0cc2e3SAndroid Build Coastguard Worker            ../common/src/jni/main/cpp/conscrypt/native_crypto.cc
9*cd0cc2e3SAndroid Build Coastguard Worker            ../common/src/jni/main/cpp/conscrypt/netutil.cc
10*cd0cc2e3SAndroid Build Coastguard Worker            )
11*cd0cc2e3SAndroid Build Coastguard Workerinclude_directories(../common/src/jni/main/include/
12*cd0cc2e3SAndroid Build Coastguard Worker                    ../common/src/jni/unbundled/include/
13*cd0cc2e3SAndroid Build Coastguard Worker                    ${BORINGSSL_HOME}/include)
14*cd0cc2e3SAndroid Build Coastguard Worker
15*cd0cc2e3SAndroid Build Coastguard Workerfind_library(android-log-lib log)
16*cd0cc2e3SAndroid Build Coastguard Workertarget_link_libraries(conscrypt_jni ${android-log-lib} ssl crypto)
17*cd0cc2e3SAndroid Build Coastguard Worker
18*cd0cc2e3SAndroid Build Coastguard Workeradd_definitions(-DANDROID
19*cd0cc2e3SAndroid Build Coastguard Worker                -fvisibility=hidden
20*cd0cc2e3SAndroid Build Coastguard Worker                -DBORINGSSL_SHARED_LIBRARY
21*cd0cc2e3SAndroid Build Coastguard Worker                -DBORINGSSL_IMPLEMENTATION
22*cd0cc2e3SAndroid Build Coastguard Worker                -DOPENSSL_SMALL
23*cd0cc2e3SAndroid Build Coastguard Worker                -D_XOPEN_SOURCE=700
24*cd0cc2e3SAndroid Build Coastguard Worker                -Wno-unused-parameter
25*cd0cc2e3SAndroid Build Coastguard Worker                # The following two lines are taken from BoringSSL's build file.  As written there:
26*cd0cc2e3SAndroid Build Coastguard Worker                #
27*cd0cc2e3SAndroid Build Coastguard Worker                # Clang's -Wtautological-constant-compare is far too aggressive and does not
28*cd0cc2e3SAndroid Build Coastguard Worker                # account for, say, wanting the same code to work on both 32-bit and 64-bit
29*cd0cc2e3SAndroid Build Coastguard Worker                # platforms.
30*cd0cc2e3SAndroid Build Coastguard Worker                #
31*cd0cc2e3SAndroid Build Coastguard Worker                # TODO: Remove these when the NDK no longer includes a version that has
32*cd0cc2e3SAndroid Build Coastguard Worker                # -Wtautological-constant-compare enabled as part of -Wall
33*cd0cc2e3SAndroid Build Coastguard Worker                -Wno-tautological-constant-compare
34*cd0cc2e3SAndroid Build Coastguard Worker                -Wtautological-constant-out-of-range-compare)
35*cd0cc2e3SAndroid Build Coastguard Worker
36*cd0cc2e3SAndroid Build Coastguard Workerif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64")
37*cd0cc2e3SAndroid Build Coastguard Worker    set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -march=armv8-a+crypto")
38*cd0cc2e3SAndroid Build Coastguard Workerendif()
39*cd0cc2e3SAndroid Build Coastguard Worker
40*cd0cc2e3SAndroid Build Coastguard Workeradd_subdirectory(${BORINGSSL_HOME} ${CMAKE_CURRENT_BINARY_DIR}/boringssl)
41