3 Commits

Author SHA1 Message Date
571b674c3d fix typo
All checks were successful
Build bannertool / build-linux (push) Successful in 1m33s
Build bannertool / release (push) Successful in 6s
2025-11-02 17:45:02 +01:00
56ba11f79f Changes
Some checks failed
Build bannertool / build-linux (push) Failing after 2m18s
Build bannertool / release (push) Has been skipped
Update README
Add windows 32 bit support
Remove macos building (cause dont want my macbook run all the day)
2025-11-02 17:41:40 +01:00
6f91e0f0d0 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
2025-10-31 21:47:06 +01:00
4 changed files with 124 additions and 18 deletions

View File

@@ -0,0 +1,94 @@
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 \
gcc-mingw-w64-i686 g++-mingw-w64-i686
- 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"
["windows-x86"]="-DCMAKE_TOOLCHAIN_FILE=cross-build/cmake/windows-mingw-i386.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:

View File

@@ -2,10 +2,14 @@
A tool for creating 3DS banners.
## How to build (Using Docker)
## Building
```bash
docker build -t bannertool-builder .
docker run --name bannertool-builder bannertool-builder
docker cp bannertool-builder:/bannertool/output/bannertool.zip .
cmake -B build .
cmake --build build
```
## Credits
Stevice10: Creating bannertool
tobid7: Providing binaries for more systems