From 66187c4dfd8be0ac4d869b5db0e25e4c6ff1039b Mon Sep 17 00:00:00 2001 From: Tue Ton <49886739+chirontt@users.noreply.github.com> Date: Sat, 30 May 2026 21:36:15 -0400 Subject: [PATCH] support build for Linux Arm64 --- .github/workflows/build-deploy.yml | 17 +++++++++++++++++ linux/CMakeLists.txt | 2 +- script/build.py | 3 +++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-deploy.yml b/.github/workflows/build-deploy.yml index 749dcbe0..5e43707e 100644 --- a/.github/workflows/build-deploy.yml +++ b/.github/workflows/build-deploy.yml @@ -28,6 +28,23 @@ jobs: name: native-linux path: linux/build/libjwm_x64.so + build_linux_arm64: + runs-on: ubuntu-24.04-arm + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-java@v5 + with: + distribution: 'temurin' + java-version: '21' + - run: | + sudo apt update + sudo apt install -y mesa-common-dev libgl1-mesa-dev libx11-dev libxcursor-dev libxi-dev libxrandr-dev + - run: python3 script/build.py --only native + - uses: actions/upload-artifact@v7 + with: + name: native-linux-arm64 + path: linux/build/libjwm_arm64.so + build_windows: strategy: matrix: diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt index deb59867..bd158759 100644 --- a/linux/CMakeLists.txt +++ b/linux/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.10) # prefer the newer GL library (GLVND) cmake_policy(SET CMP0072 NEW) diff --git a/script/build.py b/script/build.py index db2e9ee0..aa098181 100755 --- a/script/build.py +++ b/script/build.py @@ -20,6 +20,9 @@ def build_native(): if os.path.exists('build/libjwm_x64.so'): build_utils.copy_newer('build/libjwm_x64.so', '../target/classes/libjwm_x64.so') + if os.path.exists('build/libjwm_arm64.so'): + build_utils.copy_newer('build/libjwm_arm64.so', '../target/classes/libjwm_arm64.so') + if os.path.exists('build/jwm_x64.dll'): build_utils.copy_newer('build/jwm_x64.dll', '../target/classes/jwm_x64.dll')