mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-04 04:40:56 -06:00
Android: Fix build with NDK 27
`NDK_PROC_*_ABI` and `NDK_ARCH_*_ABI` were removed in the Android NDK 27 but will be reintroduced in the Android NDK 27b: * https://github.com/android/ndk/issues/2049 * https://android-review.googlesource.com/c/platform/ndk/+/3196345 Both are only used when `CMAKE_ANDROID_ARCH_ABI` is NOT given. But currently the existence is also checked when `CMAKE_ANDROID_ARCH_ABI` is given. So we move the checks to the position they are required.
This commit is contained in:
committed by
Brad King
parent
9570ff0c7c
commit
24cd4ff844
@@ -375,21 +375,21 @@ endif()
|
|||||||
if(CMAKE_ANDROID_ARCH_ABI AND NOT DEFINED "NDK_ABI_${CMAKE_ANDROID_ARCH_ABI}_PROC")
|
if(CMAKE_ANDROID_ARCH_ABI AND NOT DEFINED "NDK_ABI_${CMAKE_ANDROID_ARCH_ABI}_PROC")
|
||||||
message(FATAL_ERROR "Android: Unknown ABI CMAKE_ANDROID_ARCH_ABI='${CMAKE_ANDROID_ARCH_ABI}'.")
|
message(FATAL_ERROR "Android: Unknown ABI CMAKE_ANDROID_ARCH_ABI='${CMAKE_ANDROID_ARCH_ABI}'.")
|
||||||
endif()
|
endif()
|
||||||
if(CMAKE_SYSTEM_PROCESSOR AND NOT DEFINED "NDK_PROC_${CMAKE_SYSTEM_PROCESSOR}_ABI")
|
|
||||||
message(FATAL_ERROR "Android: Unknown processor CMAKE_SYSTEM_PROCESSOR='${CMAKE_SYSTEM_PROCESSOR}'.")
|
|
||||||
endif()
|
|
||||||
if(_ANDROID_SYSROOT_ARCH AND NOT DEFINED "NDK_ARCH_${_ANDROID_SYSROOT_ARCH}_ABI")
|
|
||||||
message(FATAL_ERROR
|
|
||||||
"Android: Unknown architecture '${_ANDROID_SYSROOT_ARCH}' specified in CMAKE_SYSROOT:\n"
|
|
||||||
" ${CMAKE_SYSROOT}"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Select an ABI.
|
# Select an ABI.
|
||||||
if(NOT CMAKE_ANDROID_ARCH_ABI)
|
if(NOT CMAKE_ANDROID_ARCH_ABI)
|
||||||
if(CMAKE_SYSTEM_PROCESSOR)
|
if(CMAKE_SYSTEM_PROCESSOR)
|
||||||
|
if(NOT DEFINED "NDK_PROC_${CMAKE_SYSTEM_PROCESSOR}_ABI")
|
||||||
|
message(FATAL_ERROR "Android: Unknown processor CMAKE_SYSTEM_PROCESSOR='${CMAKE_SYSTEM_PROCESSOR}'.")
|
||||||
|
endif()
|
||||||
set(CMAKE_ANDROID_ARCH_ABI "${NDK_PROC_${CMAKE_SYSTEM_PROCESSOR}_ABI}")
|
set(CMAKE_ANDROID_ARCH_ABI "${NDK_PROC_${CMAKE_SYSTEM_PROCESSOR}_ABI}")
|
||||||
elseif(_ANDROID_SYSROOT_ARCH)
|
elseif(_ANDROID_SYSROOT_ARCH)
|
||||||
|
if(NOT DEFINED "NDK_ARCH_${_ANDROID_SYSROOT_ARCH}_ABI")
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"Android: Unknown architecture '${_ANDROID_SYSROOT_ARCH}' specified in CMAKE_SYSROOT:\n"
|
||||||
|
" ${CMAKE_SYSROOT}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
set(CMAKE_ANDROID_ARCH_ABI "${NDK_ARCH_${_ANDROID_SYSROOT_ARCH}_ABI}")
|
set(CMAKE_ANDROID_ARCH_ABI "${NDK_ARCH_${_ANDROID_SYSROOT_ARCH}_ABI}")
|
||||||
elseif(_INCLUDED_ABIS)
|
elseif(_INCLUDED_ABIS)
|
||||||
# Default to the oldest ARM ABI.
|
# Default to the oldest ARM ABI.
|
||||||
|
|||||||
Reference in New Issue
Block a user