From 60bb798ceb2e5ba2eeca837144237c6808463122 Mon Sep 17 00:00:00 2001 From: Christophe Calmejane Date: Sat, 8 Aug 2020 01:14:05 +0200 Subject: [vcpkg] Improving android support (#12634) * Fix for Android compilation See https://github.com/microsoft/vcpkg/issues/5809 * Allow for custom android triplets. Fallback to Xamarin installed NDK. * Increased Port-Version for boost-modular-build-helper * More restrictive matching pattern for android toolchain --- scripts/toolchains/android.cmake | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'scripts/toolchains/android.cmake') diff --git a/scripts/toolchains/android.cmake b/scripts/toolchains/android.cmake index 8d2c9f931..a7a7ea2d0 100644 --- a/scripts/toolchains/android.cmake +++ b/scripts/toolchains/android.cmake @@ -5,13 +5,13 @@ 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") +if (VCPKG_TARGET_TRIPLET MATCHES "^arm64-android") set(ANDROID_ABI arm64-v8a CACHE STRING "") -elseif(VCPKG_TARGET_TRIPLET STREQUAL "arm-android") +elseif(VCPKG_TARGET_TRIPLET MATCHES "^arm-android") set(ANDROID_ABI armeabi-v7a CACHE STRING "") -elseif(VCPKG_TARGET_TRIPLET STREQUAL "x64-android") +elseif(VCPKG_TARGET_TRIPLET MATCHES "^x64-android") set(ANDROID_ABI x86_64 CACHE STRING "") -elseif(VCPKG_TARGET_TRIPLET STREQUAL "x86-android") +elseif(VCPKG_TARGET_TRIPLET MATCHES "^x86-android") set(ANDROID_ABI x86 CACHE STRING "") else() message(FATAL_ERROR "Unknown ABI for target triplet ${VCPKG_TARGET_TRIPLET}") @@ -26,7 +26,11 @@ endif() if(DEFINED ENV{ANDROID_NDK_HOME}) set(ANDROID_NDK_HOME $ENV{ANDROID_NDK_HOME}) else() - set(ANDROID_NDK_HOME "$ENV{ProgramData}/Microsoft/AndroidNDK64/android-ndk-r13b/") + set(ANDROID_NDK_HOME "$ENV{ProgramData}/Microsoft/AndroidNDK64/android-ndk-r13b/") + if(NOT EXISTS "${ANDROID_NDK_HOME}") + # Use Xamarin default installation folder + set(ANDROID_NDK_HOME "$ENV{ProgramFiles\(x86\)}/Android/android-sdk/ndk-bundle") + endif() endif() if(NOT EXISTS "${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake") -- cgit v1.2.3