Fix processor detection in CMakeLists.txt

This commit is contained in:
Jiajie Chen 2023-09-04 09:05:45 +08:00
parent a6bd25d3bd
commit 70688874f8

View File

@ -333,32 +333,32 @@ endif()
# single architecture work on macOS at least. # single architecture work on macOS at least.
# #
# Don't set CMAKE_OSX_ARCHITECTURES to more than a single value for now. # Don't set CMAKE_OSX_ARCHITECTURES to more than a single value for now.
if(APPLE) if(APPLE AND (NOT CMAKE_OSX_ARCHITECTURES STREQUAL ""))
set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_OSX_ARCHITECTURES}") set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_OSX_ARCHITECTURES}")
endif() endif()
if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(aarch64|arm64)") if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(aarch64|arm64|ARM64)")
set(HOST_AARCH64 true) set(HOST_AARCH64 true)
elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm") elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm")
set(HOST_ARM true) set(HOST_ARM true)
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS" AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i386") elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS" AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i386")
set(HOST_X86_64 true) set(HOST_X86_64 true)
elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(x86_64|amd64)") elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(x86_64|amd64|AMD64)")
set(HOST_X86_64 true) set(HOST_X86_64 true)
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "[i?86|x86]") elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(i[3-6]86|[xX]86)")
set(ENABLE_ASM false) set(ENABLE_ASM false)
set(HOST_I386 true) set(HOST_I386 true)
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "mips64") elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "mips64")
set(HOST_MIPS64 true) set(HOST_MIPS64 true)
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "mips") elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "mips")
set(HOST_MIPS true) set(HOST_MIPS true)
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "powerpc") elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "powerpc")
set(HOST_POWERPC true) set(HOST_POWERPC true)
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "ppc64") elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "ppc64")
set(HOST_PPC64 true) set(HOST_PPC64 true)
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "riscv64") elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "riscv64")
set(HOST_RISCV64 true) set(HOST_RISCV64 true)
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "sparc64") elseif("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "sparc64")
set(HOST_SPARC64 true) set(HOST_SPARC64 true)
else() else()
set(ENABLE_ASM false) set(ENABLE_ASM false)