Update CmakeScript and CI
Some checks failed
Build bannertool / build-macos (push) Failing after 5s
Build bannertool / build-linux (push) Successful in 1m14s
Build bannertool / release (push) Has been skipped

This commit is contained in:
2025-10-31 21:29:55 +01:00
parent 7d7d8b6291
commit 0085f241ce
3 changed files with 104 additions and 14 deletions

View File

@@ -0,0 +1,82 @@
name: Build bannertool
on:
push:
branches:
- '*'
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Tools
run: |
sudo apt update
sudo apt install -y build-essential make cmake zip \
gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf \
gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \
gcc-x86-64-linux-gnu g++-x86-64-linux-gnu \
gcc-i686-linux-gnu g++-i686-linux-gnu \
gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64
- name: Download Cross-Build
run: git clone https://dev.npid7.de/tobid7/cross-build
- name: Build Targets
run: |
declare -A TARGETS=(
["linux-i386"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-i386.cmake"
["linux-x86_64"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-x86_64.cmake"
["linux-armhf"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-armhf.cmake"
["linux-aarch64"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/linux-aarch64.cmake"
["windows-x86_64"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/windows-mingw-x86_64.cmake"
)
for name in "${!TARGETS[@]}"; do
cmake ${TARGETS[$name]} -DCMAKE_INSTALL_PREFIX=bin-$name -B build-$name .
cmake --build build-$name --parallel
cmake --install build-$name
mkdir -p artifacts/$name
cp -r bin-$name/* artifacts/$name/
done
build-macos:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build
run: |
cmake -DCMAKE_INSTALL_PREFIX=bin-macos-universal -DCMAKE_OSX_ARCHITECURE="x86_64;arm64" -B build .
cmake --build build
cmake --install build
cp -r bin-macos-universal/* artifacts/macos-universal/
release:
runs-on: ubuntu-latest
needs: [build-linux, build-macos]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare Files
run: |
mkdir -p release_files
for d in artifacts/*; do
name=$(basename "$d")
zip -r "release_files/$name.zip" "$d"
done
- name: Get Date
run: echo "TAG_NAME=v$(date -u +'%Y%m%d-%H%M%S')" >> $GITHUB_ENV
- name: Upload to Gitea
uses: akkuman/gitea-release-action@v1
with:
token: ${{ secrets.TOKEN }}
prerelease: true
name: "Dev build ${{ env.TAG_NAME }}"
tag_name: ${{ env.TAG_NAME }}
body: |
**Automated build**
Commit: ${{ github.sha }}
Triggered by: ${{ github.actor }}
files: release_files/*.zip

View File

@@ -22,14 +22,21 @@ source/pc/stb_vorbis.c
source/pc/wav.cpp
source/3ds/cbmd.cpp
source/3ds/cwav.cpp
source/3ds/lz11.cpp)
source/3ds/lz11.cpp
)
# set include dirs
target_include_directories(bannertool PUBLIC
source
source/3ds
source/pc)
source/pc
)
# define VERSION
target_compile_definitions(bannertool PUBLIC
-DVERSION_MAJOR=${VERSION_MAJOR}
-DVERSION_MINOR=${VERSION_MINOR}
-DVERSION_MICRO=${VERSION_MICRO})
-DVERSION_MICRO=${VERSION_MICRO}
)
install(TARGETS bannertool DESTINATION bin)

View File

@@ -1,3 +1,4 @@
Copyright (C) 2024-2025 tobid7
Copyright (C) 2015-2017 Steveice10
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: