mirror of
https://github.com/thorvg/thorvg.git
synced 2025-06-08 05:33:36 +00:00
infra: add android CI build test with necessary cross build config.
This commit is contained in:
parent
2dbecdfbb2
commit
8a5418ed8b
5 changed files with 104 additions and 2 deletions
70
.github/workflows/build_android.yml
vendored
Normal file
70
.github/workflows/build_android.yml
vendored
Normal file
|
@ -0,0 +1,70 @@
|
|||
name: Android
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
build_x86_64:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: nttld/setup-ndk@v1.3.1
|
||||
id: setup-ndk
|
||||
with:
|
||||
submodules: true
|
||||
ndk-version: r21e
|
||||
local-cache: true
|
||||
|
||||
- name: Install Packages
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo pip3 install meson ninja
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
NDK: ${{ steps.setup-ndk.outputs.ndk-path }}
|
||||
API: 21
|
||||
run: |
|
||||
sed -e "s|NDK|$NDK|g" -e "s|API|$API|g" ./cross/android_x86_64.txt > /tmp/android_cross.txt
|
||||
meson setup build -Dlog=true -Dloaders="all" -Dsavers="all" -Dbindings="capi" --cross-file /tmp/android_cross.txt
|
||||
sudo ninja -C build install
|
||||
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: result
|
||||
path: build/src/libthorvg*
|
||||
|
||||
build_aarch64:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: nttld/setup-ndk@v1.3.1
|
||||
id: setup-ndk
|
||||
with:
|
||||
submodules: true
|
||||
ndk-version: r21e
|
||||
local-cache: true
|
||||
|
||||
- name: Install Packages
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo pip3 install meson ninja
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
NDK: ${{ steps.setup-ndk.outputs.ndk-path }}
|
||||
API: 21
|
||||
run: |
|
||||
sed -e "s|NDK|$NDK|g" -e "s|API|$API|g" ./cross/android_aarch64.txt > /tmp/android_cross.txt
|
||||
meson setup build -Dlog=true -Dloaders="all" -Dsavers="all" -Dbindings="capi" --cross-file /tmp/android_cross.txt
|
||||
sudo ninja -C build install
|
||||
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: result
|
||||
path: build/src/libthorvg*
|
2
.github/workflows/build_ios.yml
vendored
2
.github/workflows/build_ios.yml
vendored
|
@ -33,7 +33,7 @@ jobs:
|
|||
name: result
|
||||
path: build/src/libthorvg*
|
||||
|
||||
build_armv64:
|
||||
build_aarch64:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
|
16
cross/android_aarch64.txt
Normal file
16
cross/android_aarch64.txt
Normal file
|
@ -0,0 +1,16 @@
|
|||
[binaries]
|
||||
cpp = 'NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-androidAPI-clang++'
|
||||
ar = 'NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-ar'
|
||||
as = 'NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-as'
|
||||
ranlib = 'NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-ranlib'
|
||||
ld = 'NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-ld'
|
||||
strip = 'NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-strip'
|
||||
|
||||
[properties]
|
||||
sys_root = 'NDK/sysroot'
|
||||
|
||||
[host_machine]
|
||||
system = 'android'
|
||||
cpu_family = 'arm'
|
||||
cpu = 'aarch64'
|
||||
endian = 'little'
|
16
cross/android_x86_64.txt
Normal file
16
cross/android_x86_64.txt
Normal file
|
@ -0,0 +1,16 @@
|
|||
[binaries]
|
||||
cpp = 'NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-androidAPI-clang++'
|
||||
ar = 'NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android-ar'
|
||||
as = 'NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android-as'
|
||||
ranlib = 'NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android-ranlib'
|
||||
ld = 'NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android-ld'
|
||||
strip = 'NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android-strip'
|
||||
|
||||
[properties]
|
||||
sys_root = 'NDK/sysroot'
|
||||
|
||||
[host_machine]
|
||||
system = 'android'
|
||||
cpu_family = 'x86_64'
|
||||
cpu = 'x86_64'
|
||||
endian = 'little'
|
|
@ -42,7 +42,7 @@ subdir('loaders')
|
|||
subdir('savers')
|
||||
|
||||
thorvg_lib_dep = [common_dep, utils_dep, loader_dep, saver_dep]
|
||||
if host_machine.system() != 'windows'
|
||||
if host_machine.system() != 'windows' and host_machine.system() != 'android'
|
||||
thread_dep = meson.get_compiler('cpp').find_library('pthread')
|
||||
thorvg_lib_dep += [thread_dep]
|
||||
endif
|
||||
|
|
Loading…
Add table
Reference in a new issue