summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-10-13 12:38:44 +0000
committerKitware Robot <kwrobot@kitware.com>2020-10-13 08:38:54 -0400
commit01ae8149b83bedc71f6f662e21edc7307a66c01f (patch)
tree7bdc4835b2b9dafa5f1e9e9742245b2299b979f9
parentdf87db1fac3e6aa969972b5dd083fc5933fc23e5 (diff)
parent5c2f9e3eeb89c50fa110daa1f33945381b1416ed (diff)
downloadcmake-01ae8149b83bedc71f6f662e21edc7307a66c01f.tar.gz
Merge topic 'android-verify-abi-in-ndk' into release-3.19
5c2f9e3eeb Android: Fatal if ABI is not supported by NDK Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5351
-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 314d80bce0..58905dfabe 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 81dd09020d..c4b1a00dd4 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