xref: /aosp_15_r20/external/libavc/cmake/toolchains/android_toolchain.cmake (revision 495ae853bb871d1e5a258cb02c2cc13cde8ddb9a)
1*495ae853SAndroid Build Coastguard Workerset(SYSTEM_NAME Android)
2*495ae853SAndroid Build Coastguard Workerset(CMAKE_SYSTEM_NAME Android)
3*495ae853SAndroid Build Coastguard Worker
4*495ae853SAndroid Build Coastguard Workerif(NOT ANDROID_PLATFORM)
5*495ae853SAndroid Build Coastguard Worker  set(ANDROID_PLATFORM android-23)
6*495ae853SAndroid Build Coastguard Workerendif()
7*495ae853SAndroid Build Coastguard Worker
8*495ae853SAndroid Build Coastguard Worker# Choose target architecture with:
9*495ae853SAndroid Build Coastguard Worker# -DANDROID_ABI={armeabi-v7a, arm64-v8a, x86, x86_64}
10*495ae853SAndroid Build Coastguard Workerif(NOT ANDROID_ABI)
11*495ae853SAndroid Build Coastguard Worker  set(ANDROID_ABI arm64-v8a)
12*495ae853SAndroid Build Coastguard Workerendif()
13*495ae853SAndroid Build Coastguard Worker
14*495ae853SAndroid Build Coastguard Workerif(ANDROID_ABI MATCHES "^armeabi")
15*495ae853SAndroid Build Coastguard Worker  set(SYSTEM_PROCESSOR aarch32)
16*495ae853SAndroid Build Coastguard Workerelse()
17*495ae853SAndroid Build Coastguard Worker  set(SYSTEM_PROCESSOR aarch64)
18*495ae853SAndroid Build Coastguard Workerendif()
19*495ae853SAndroid Build Coastguard Worker
20*495ae853SAndroid Build Coastguard Worker# Toolchain files don't have access to cached variables:
21*495ae853SAndroid Build Coastguard Worker# https://gitlab.kitware.com/cmake/cmake/issues/16170. Set an intermediate
22*495ae853SAndroid Build Coastguard Worker# environment variable when loaded the first time.
23*495ae853SAndroid Build Coastguard Workerif(AVC_ANDROID_NDK_PATH)
24*495ae853SAndroid Build Coastguard Worker  set(ENV{AVC_ANDROID_NDK_PATH} "${AVC_ANDROID_NDK_PATH}")
25*495ae853SAndroid Build Coastguard Workerelse()
26*495ae853SAndroid Build Coastguard Worker  set(AVC_ANDROID_NDK_PATH "$ENV{AVC_ANDROID_NDK_PATH}")
27*495ae853SAndroid Build Coastguard Workerendif()
28*495ae853SAndroid Build Coastguard Worker
29*495ae853SAndroid Build Coastguard Workerif(NOT AVC_ANDROID_NDK_PATH)
30*495ae853SAndroid Build Coastguard Worker  message(FATAL_ERROR "AVC_ANDROID_NDK_PATH not set.")
31*495ae853SAndroid Build Coastguard Worker  return()
32*495ae853SAndroid Build Coastguard Workerendif()
33*495ae853SAndroid Build Coastguard Worker
34*495ae853SAndroid Build Coastguard Workerinclude("${AVC_ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake")