From 553a057b3cee5560c78ec5e643e412c8f4f6f71a Mon Sep 17 00:00:00 2001 From: lizzie Date: Tue, 28 Oct 2025 21:47:00 +0000 Subject: [PATCH] [cmake] add native build preset in aarch64 Signed-off-by: lizzie --- CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 138425bd19..f9dbc4826b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -377,6 +377,8 @@ endif() # Build/optimization presets if (PLATFORM_LINUX OR CXX_CLANG) if (ARCHITECTURE_x86_64) + # See https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html + # Generic supports Pentium Pro instruction set and above set(YUZU_BUILD_PRESET "custom" CACHE STRING "Build preset to use. One of: custom, generic, v3, zen2, zen4, native") if (${YUZU_BUILD_PRESET} STREQUAL "generic") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=x86-64 -mtune=generic") @@ -395,13 +397,17 @@ if (PLATFORM_LINUX OR CXX_CLANG) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native -mtune=native") endif() elseif(ARCHITECTURE_arm64) - set(YUZU_BUILD_PRESET "custom" CACHE STRING "Build preset to use. One of: custom, generic, armv9") + # See https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html + set(YUZU_BUILD_PRESET "custom" CACHE STRING "Build preset to use. One of: custom, generic, armv9, native") if (${YUZU_BUILD_PRESET} STREQUAL "generic") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8-a -mtune=generic") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv8-a -mtune=generic") elseif (${YUZU_BUILD_PRESET} STREQUAL "armv9") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv9-a -mtune=generic") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv9-a -mtune=generic") + elseif (${YUZU_BUILD_PRESET} STREQUAL "native") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -mtune=native") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native -mtune=native") endif() endif() endif()