From b25d78b12f634973c464a8d2b6b44c07d79a0f26 Mon Sep 17 00:00:00 2001 From: DepressedTWM Date: Tue, 11 Aug 2026 23:06:09 +0400 Subject: [PATCH] ARM64 fixes --- CMakeLists.txt | 1 - make-oneshot-linux.sh | 2 +- toolchain/arch/arm64.cmake | 19 +++++++++++++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a731025..d337fd6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,6 @@ option(DEBUG "Debug mode" ON) option(SANITIZERS "Enable sanitizers" OFF) option(NATIVE "Use native instructions(for local use only)" OFF) option(STATIC "Build more static build" OFF) -option(CPU_ARCH "CPU arch(x86, arm64, ia-64)" "x86") option(USE_OPENGL_ES2 "GLES2_HEADER define" OFF) set(VERSION_STRING "0.1.2" CACHE STRING "Version string") option(DEVBUILD "Developoment build" OFF) diff --git a/make-oneshot-linux.sh b/make-oneshot-linux.sh index b3f71ad..4d281b3 100755 --- a/make-oneshot-linux.sh +++ b/make-oneshot-linux.sh @@ -4,7 +4,7 @@ set -euo pipefail oneshot_id="$(cat steam_appid.txt)" STEAMWORKS_PATH=$(realpath ..)/steamworks -cmake . -B build/ +cmake . -B build/ "$@" cd build make -j$(nproc) cd .. diff --git a/toolchain/arch/arm64.cmake b/toolchain/arch/arm64.cmake index 4f3a544..1caac6e 100644 --- a/toolchain/arch/arm64.cmake +++ b/toolchain/arch/arm64.cmake @@ -1,3 +1,18 @@ +set(CMAKE_SYSTEM_PROCESSOR aarch64) +set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc) +set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++) + +set(SYSROOT /opt/aarch64-sysroot) +set(CMAKE_SYSROOT ${SYSROOT}) +set(CMAKE_FIND_ROOT_PATH ${SYSROOT}) + +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + +set(CMAKE_CROSSCOMPILING TRUE) + set(CUSTOM_FLAGS -mlow-precision-recip-sqrt -mlow-precision-sqrt @@ -5,5 +20,5 @@ set(CUSTOM_FLAGS ) string(JOIN " " CUSTOM_FLAGS_STR ${CUSTOM_FLAGS}) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CUSTOM_FLAGS_STR}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CUSTOM_FLAGS_STR}") +set(CMAKE_C_FLAGS_INIT "${CMAKE_C_FLAGS} ${CUSTOM_FLAGS_STR}") +set(CMAKE_CXX_FLAGS_INIT "${CMAKE_CXX_FLAGS} ${CUSTOM_FLAGS_STR}")