From b2996e1fd48842446a64443d057c576f819bda00 Mon Sep 17 00:00:00 2001 From: Bradley Austin Davis Date: Mon, 17 Dec 2018 16:45:09 -0800 Subject: Support custom Android NDK, better ABI specification (#4986) --- scripts/toolchains/android.cmake | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'scripts/toolchains/android.cmake') diff --git a/scripts/toolchains/android.cmake b/scripts/toolchains/android.cmake index 893463056..69192aeca 100644 --- a/scripts/toolchains/android.cmake +++ b/scripts/toolchains/android.cmake @@ -1,11 +1,22 @@ set(ANDROID_CPP_FEATURES "rtti exceptions" CACHE STRING "") set(CMAKE_SYSTEM_NAME Android CACHE STRING "") -set(ANDROID_ABI x86_64 CACHE STRING "") set(ANDROID_TOOLCHAIN clang CACHE STRING "") set(ANDROID_NATIVE_API_LEVEL 21 CACHE STRING "") set(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION clang CACHE STRING "") +if (VCPKG_TARGET_TRIPLET STREQUAL "arm64-android") + set(ANDROID_ABI arm64-v8a CACHE STRING "") +elseif(VCPKG_TARGET_TRIPLET STREQUAL "arm-android") + set(ANDROID_ABI armeabi-v7a CACHE STRING "") +elseif(VCPKG_TARGET_TRIPLET STREQUAL "x64-android") + set(ANDROID_ABI x86_64 CACHE STRING "") +elseif(VCPKG_TARGET_TRIPLET STREQUAL "x86-android") + set(ANDROID_ABI x86 CACHE STRING "") +else() + message(FATAL_ERROR "Unknown ABI for target triplet ${VCPKG_TARGET_TRIPLET}") +endif() + if(DEFINED ENV{ANDROID_NDK_HOME}) set(ANDROID_NDK_HOME $ENV{ANDROID_NDK_HOME}) else() -- cgit v1.2.3