From ee8a27d13ce939e224789cee1cedc846f6f8acc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joshua=20Vanda=C3=ABle?= Date: Thu, 11 Dec 2025 03:26:32 +0100 Subject: [PATCH] CMake: Better architecture detection --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7f18b60966..e9677681c6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -229,11 +229,11 @@ if(ENABLE_GENERIC) message(STATUS "Warning! Building generic build!") set(_M_GENERIC 1) add_definitions(-D_M_GENERIC=1) -elseif(_ARCH_64 AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64") +elseif(_ARCH_64 AND CMAKE_SYSTEM_PROCESSOR MATCHES "x64|x86_64|amd64|AMD64") set(_M_X86_64 1) add_definitions(-D_M_X86_64=1) check_and_add_flag(HAVE_SSE2 -msse2) -elseif(_ARCH_64 AND CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm64") +elseif(_ARCH_64 AND CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm64|ARM64") set(_M_ARM_64 1) add_definitions(-D_M_ARM_64=1) # CRC instruction set is used in the CRC32 hash function @@ -363,7 +363,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Darwin") set(CMAKE_XCODE_ATTRIBUTE_GCC_STRICT_ALIASING NO) # Specify target CPUs. - if(_ARCH_64 AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64") + if(_ARCH_64 AND _M_X86_64) check_and_add_flag(HAVE_MSSSE3 -mssse3) check_and_add_flag(HAVE_ARCH_CORE2 -march=core2) endif() @@ -668,7 +668,7 @@ if(ENABLE_VULKAN) endif() endif() -if(NOT WIN32 OR (NOT (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64"))) +if(NOT (WIN32 AND _M_ARM_64)) # OpenGL is available on all platforms except windows-arm64 add_definitions(-DHAS_OPENGL) endif()