Compare commits
4 Commits
c64ae3c2f0
...
v20251102-
| Author | SHA1 | Date | |
|---|---|---|---|
|
b337dfe3bc
|
|||
|
571b674c3d
|
|||
|
56ba11f79f
|
|||
|
6f91e0f0d0
|
94
.gitea/workflows/build.yml
Normal file
94
.gitea/workflows/build.yml
Normal 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
|
||||||
98
.gitea/workflows/release.yml
Normal file
98
.gitea/workflows/release.yml
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*.*.*'
|
||||||
|
|
||||||
|
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: Upload to Gitea
|
||||||
|
uses: akkuman/gitea-release-action@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.TOKEN }}
|
||||||
|
prerelease: false
|
||||||
|
name: "Release ${{ github.ref_name }}"
|
||||||
|
tag_name: ${{ github.ref_name }}
|
||||||
|
body: |
|
||||||
|
**Bannertool Release ${{ github.ref_name }}**
|
||||||
|
Commit: ${{ github.sha }}
|
||||||
|
Triggered by: ${{ github.actor }}
|
||||||
|
Supported Systems:
|
||||||
|
- Windows x64
|
||||||
|
- Windows x86 (32 Bit)
|
||||||
|
- Linux x86_64
|
||||||
|
- Linux x86 (32 Bit)
|
||||||
|
- Linux armhf (32 Bit)
|
||||||
|
- Linux aarch64 (arm64)
|
||||||
|
files: release_files/**/*.zip
|
||||||
@@ -15,21 +15,28 @@ set(VERSION_MICRO "0")
|
|||||||
|
|
||||||
# Add executable
|
# Add executable
|
||||||
add_executable(bannertool
|
add_executable(bannertool
|
||||||
source/cmd.cpp
|
source/cmd.cpp
|
||||||
source/main.cpp
|
source/main.cpp
|
||||||
source/pc/stb_image.c
|
source/pc/stb_image.c
|
||||||
source/pc/stb_vorbis.c
|
source/pc/stb_vorbis.c
|
||||||
source/pc/wav.cpp
|
source/pc/wav.cpp
|
||||||
source/3ds/cbmd.cpp
|
source/3ds/cbmd.cpp
|
||||||
source/3ds/cwav.cpp
|
source/3ds/cwav.cpp
|
||||||
source/3ds/lz11.cpp)
|
source/3ds/lz11.cpp
|
||||||
|
)
|
||||||
|
|
||||||
# set include dirs
|
# set include dirs
|
||||||
target_include_directories(bannertool PUBLIC
|
target_include_directories(bannertool PUBLIC
|
||||||
source
|
source
|
||||||
source/3ds
|
source/3ds
|
||||||
source/pc)
|
source/pc
|
||||||
|
)
|
||||||
|
|
||||||
# define VERSION
|
# define VERSION
|
||||||
target_compile_definitions(bannertool PUBLIC
|
target_compile_definitions(bannertool PUBLIC
|
||||||
-DVERSION_MAJOR=${VERSION_MAJOR}
|
-DVERSION_MAJOR=${VERSION_MAJOR}
|
||||||
-DVERSION_MINOR=${VERSION_MINOR}
|
-DVERSION_MINOR=${VERSION_MINOR}
|
||||||
-DVERSION_MICRO=${VERSION_MICRO})
|
-DVERSION_MICRO=${VERSION_MICRO}
|
||||||
|
)
|
||||||
|
|
||||||
|
install(TARGETS bannertool DESTINATION bin)
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
Copyright (C) 2024-2025 tobid7
|
||||||
Copyright (C) 2015-2017 Steveice10
|
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:
|
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:
|
||||||
|
|||||||
12
README.md
12
README.md
@@ -2,10 +2,14 @@
|
|||||||
|
|
||||||
A tool for creating 3DS banners.
|
A tool for creating 3DS banners.
|
||||||
|
|
||||||
## How to build (Using Docker)
|
## Building
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker build -t bannertool-builder .
|
cmake -B build .
|
||||||
docker run --name bannertool-builder bannertool-builder
|
cmake --build build
|
||||||
docker cp bannertool-builder:/bannertool/output/bannertool.zip .
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
|
||||||
|
- Stevice10: Creating bannertool
|
||||||
|
- tobid7: Providing binaries for more systems
|
||||||
|
|||||||
Reference in New Issue
Block a user