summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaibo Huang <hhb@google.com>2020-10-08 23:54:36 (GMT)
committerBrad King <brad.king@kitware.com>2020-10-09 13:49:19 (GMT)
commit5c2f9e3eeb89c50fa110daa1f33945381b1416ed (patch)
treef0e5595843baf441cdab79337f90bf5b713e4aab
parent488141fe373f9c4e1dfd3d63e9c932c37d577547 (diff)
downloadCMake-5c2f9e3eeb89c50fa110daa1f33945381b1416ed.zip
CMake-5c2f9e3eeb89c50fa110daa1f33945381b1416ed.tar.gz
CMake-5c2f9e3eeb89c50fa110daa1f33945381b1416ed.tar.bz2
Android: Fatal if ABI is not supported by NDK
-rw-r--r--Modules/Platform/Android-Determine.cmake6
-rw-r--r--Tests/RunCMake/Android/RunCMakeTest.cmake2
2 files changed, 7 insertions, 1 deletions
diff --git a/Modules/Platform/Android-Determine.cmake b/Modules/Platform/Android-Determine.cmake
index 314d80b..58905df 100644
--- a/Modules/Platform/Android-Determine.cmake
+++ b/Modules/Platform/Android-Determine.cmake
@@ -353,6 +353,12 @@ if(NOT CMAKE_ANDROID_ARCH_ABI)
endif()
endif()
endif()
+if(_INCLUDED_ABIS AND NOT CMAKE_ANDROID_ARCH_ABI IN_LIST NDK_DEFAULT_ABIS)
+ message(FATAL_ERROR
+ "Android: ABI '${CMAKE_ANDROID_ARCH_ABI}' is not supported by the NDK.\n"
+ "Supported ABIS: ${NDK_DEFAULT_ABIS}."
+ )
+endif()
set(CMAKE_ANDROID_ARCH "${_ANDROID_ABI_${CMAKE_ANDROID_ARCH_ABI}_ARCH}")
if(_ANDROID_SYSROOT_ARCH AND NOT "x${_ANDROID_SYSROOT_ARCH}" STREQUAL "x${CMAKE_ANDROID_ARCH}")
message(FATAL_ERROR
diff --git a/Tests/RunCMake/Android/RunCMakeTest.cmake b/Tests/RunCMake/Android/RunCMakeTest.cmake
index 81dd090..c4b1a00 100644
--- a/Tests/RunCMake/Android/RunCMakeTest.cmake
+++ b/Tests/RunCMake/Android/RunCMakeTest.cmake
@@ -157,7 +157,7 @@ foreach(ndk IN LISTS TEST_ANDROID_NDK)
# Find a sysroot to test.
file(GLOB _sysroots "${ndk}/platforms/android-[0-9][0-9]/arch-arm")
- if(_sysroots)
+ if(_sysroots AND "armeabi" IN_LIST _abis_)
list(GET _sysroots 0 _sysroot)
set(RunCMake_TEST_OPTIONS
-DCMAKE_SYSTEM_NAME=Android