Update CmakeScript and CI
All checks were successful
Build bannertool / build-macos (push) Successful in 7s
Build bannertool / build-linux (push) Successful in 1m27s
Build bannertool / release (push) Successful in 6s

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

View File

@@ -0,0 +1,92 @@
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: |
mkdir -p build_artifacts
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
zip -r build_artifacts/${name}.zip bin-$name
done
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: linux-builds
path: build_artifacts/*.zip
build-macos:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build
run: |
mkdir -p build_artifacts
cmake -DCMAKE_INSTALL_PREFIX=bin-macos-universal -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -B build .
cmake --build build
cmake --install build
mkdir -p artifacts/macos-universal
cp -r bin-macos-universal/* artifacts/macos-universal/
zip -r build_artifacts/macos-universal.zip bin-macos-universal
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: macos-build
path: build_artifacts/*.zip
release:
runs-on: ubuntu-latest
needs: [build-linux, build-macos]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download Artifacts
uses: actions/download-artifact@v3
with:
path: release_files
- 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: "Automated Build ${{ env.TAG_NAME }}"
tag_name: ${{ env.TAG_NAME }}
body: |
**Automated prerelease 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: