Skip to content

optimize differentiate alpha performance (#16) #68

optimize differentiate alpha performance (#16)

optimize differentiate alpha performance (#16) #68

Workflow file for this run

name: Build Binaries
on:
workflow_dispatch:
push:
branches:
- '**'
jobs:
build-gcc:
strategy:
fail-fast: false
matrix:
config:
- name: x86
compiler: https://geometrydash.eu/_other/TDM-GCC-32.zip
additional: -DLINK_UNICOWS=1
- name: x64
compiler: https://geometrydash.eu/_other/TDM-GCC-64.zip
name: Build ${{ matrix.config.name }}
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install TDM GCC 5.1.0
run: |
curl ${{ matrix.config.compiler }} -o compiler.zip -L
7z x compiler.zip -o"C:/TDM-GCC-5.1.0"
- name: Install Ninja
run: |
choco install ninja
- name: Configure & Build
run: |
$env:PATH = "C:/TDM-GCC-5.1.0/bin;" + $env:PATH
cmake ${{ matrix.config.additional }} -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER=C:/TDM-GCC-5.1.0/bin/gcc.exe -DCMAKE_CXX_COMPILER=C:/TDM-GCC-5.1.0/bin/g++.exe -G Ninja -B build -S .
cmake --build build --config Release
- name: Move build to release folder
run: |
mkdir release
mv build/CppShot.exe release/cppshot.exe
- name: Grab Windows 98/2000 compatibility DLL
if: matrix.config.name == 'x86'
run: |
curl https://github.com/Cvolton/CppShot/releases/download/v0.4/gdiplus.dll -o release/gdiplus.dll -L
curl https://geometrydash.eu/_other/unicows.dll -o release/unicows.dll -L
- name: Copy used licenses
run: |
cp C:/TDM-GCC-5.1.0/COPYING.winpthreads.txt ./release/
- name: Upload release build
uses: actions/upload-artifact@v4
with:
name: cppshot-${{ matrix.config.name }}
path: ./release/
build-clang:
strategy:
fail-fast: false
matrix:
config:
- name: arm32
compiler: https://github.com/mstorsjo/llvm-mingw/releases/download/20241001/llvm-mingw-20241001-ucrt-x86_64.zip
name: Build ${{ matrix.config.name }}
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install llvm-mingw
run: |
curl ${{ matrix.config.compiler }} -o compiler.zip -L
7z x compiler.zip -o"C:/llvm"
- name: Install Ninja
run: |
choco install ninja
- name: Configure & Build
run: |
$env:PATH = "C:/llvm/llvm-mingw-20241001-ucrt-x86_64/bin;" + $env:PATH
cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER="C:\llvm\llvm-mingw-20241001-ucrt-x86_64\bin\armv7-w64-mingw32-gcc.exe" -DCMAKE_CXX_COMPILER="C:\llvm\llvm-mingw-20241001-ucrt-x86_64\bin\armv7-w64-mingw32-g++.exe" -DCMAKE_LINKER="C:\llvm\llvm-mingw-20241001-ucrt-x86_64\bin\armv7-w64-mingw32-ld.exe" -DCMAKE_RC_COMPILER="C:\\llvm\\llvm-mingw-20241001-ucrt-x86_64\\bin\\llvm-rc.exe" -G Ninja -B build -S .
cmake --build build --config Release
- name: Move build to release folder
run: |
mkdir release
mv build/CppShot.exe release/cppshot.exe
- name: Copy used redistributables
run: |
cp "C:\Program Files (x86)\windows kits\10\Redist\10.0.19041.0\ucrt\DLLs\arm\*" ./release/
- name: Upload release build
uses: actions/upload-artifact@v4
with:
name: cppshot-${{ matrix.config.name }}
path: ./release/
build-msvc:
strategy:
fail-fast: false
matrix:
config:
- name: arm64
platform: arm64
name: Build ${{ matrix.config.name }}
runs-on: windows-2019
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Configure & Build
run: |
cmake -G "Visual Studio 16 2019" -B build -DCMAKE_BUILD_TYPE=Release -A ${{ matrix.config.platform }} -S .
cmake --build build --config Release
- name: Upload release build
uses: actions/upload-artifact@v4
with:
name: cppshot-${{ matrix.config.name }}
path: ./build/Release/