summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-04-27 13:07:58 (GMT)
committerKitware Robot <kwrobot@kitware.com>2023-04-27 13:08:13 (GMT)
commitc56c8a930b734d482b2f18f43e139219cda2cbf5 (patch)
treec284742a22beed8bde12d03149ebaefd8401ef15
parent5f40448da5cc15e55822b28c610cf76f87f7c831 (diff)
parentca6e81a31fbb170d04872490a28b93d509dd5435 (diff)
downloadCMake-c56c8a930b734d482b2f18f43e139219cda2cbf5.zip
CMake-c56c8a930b734d482b2f18f43e139219cda2cbf5.tar.gz
CMake-c56c8a930b734d482b2f18f43e139219cda2cbf5.tar.bz2
Merge topic 'vs-android-auto-arch'
ca6e81a31f VS/Android: Deduce processor type from CMAKE_GENERATOR_PLATFORM Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8425
-rw-r--r--Modules/Platform/Android-Determine.cmake15
1 files changed, 14 insertions, 1 deletions
diff --git a/Modules/Platform/Android-Determine.cmake b/Modules/Platform/Android-Determine.cmake
index bc60222..307e4c9 100644
--- a/Modules/Platform/Android-Determine.cmake
+++ b/Modules/Platform/Android-Determine.cmake
@@ -34,8 +34,21 @@ cmake_policy(PUSH)
cmake_policy(SET CMP0057 NEW) # if IN_LIST
# If using Android tools for Visual Studio, compile a sample project to get the
-# NDK path
+# NDK path and set the processor from the generator platform.
if(CMAKE_GENERATOR MATCHES "Visual Studio")
+ if(NOT CMAKE_ANDROID_ARCH_ABI AND NOT CMAKE_SYSTEM_PROCESSOR)
+ if(CMAKE_GENERATOR_PLATFORM STREQUAL "ARM")
+ set(CMAKE_SYSTEM_PROCESSOR "armv7-a")
+ elseif(CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64")
+ set(CMAKE_SYSTEM_PROCESSOR "aarch64")
+ elseif(CMAKE_GENERATOR_PLATFORM STREQUAL "x86")
+ set(CMAKE_SYSTEM_PROCESSOR "i686")
+ elseif(CMAKE_GENERATOR_PLATFORM STREQUAL "x64")
+ set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+ else()
+ message(FATAL_ERROR "Unhandled generator platform, please choose ARM, ARM64, x86 or x86_64 using -A")
+ endif()
+ endif()
if(NOT CMAKE_ANDROID_NDK)
set(vcx_platform ${CMAKE_GENERATOR_PLATFORM})
if(CMAKE_GENERATOR MATCHES "Visual Studio 14")