this post will be kind of short but basicly the trick to getting it to work requires travis.yml file that looks like
language: cpp
notifications:
email: false
matrix:
include:
- os: osx
osx_image: xcode11.3
addons:
homebrew:
packages:
- sdl2
- sdl2_gfx
- sdl2_image
- sdl2_net
- sdl2_mixer
script: "./build.sh"
cache:
directories:
- "$HOME/Library/Caches/Homebrew"
before_cache:
- brew cleanup
deploy:
provider: releases
api_key: $MyOoth
file_glob: true
file: "build-*.zip"
skip_cleanup: true
- os: linux
dist: bionic
addons:
apt:
packages:
- libsdl2-dev
- libsdl2-mixer-dev
- libsdl2-net-dev
- libsdl2-gfx-dev
- libsdl2-image-dev
script:
- pip install cmake
- "./build.sh"
deploy:
provider: releases
api_key: $MyOoth
file_glob: true
file: "build-*.zip"
skip_cleanup: true
on:
repo: <repo here>
- os: windows
before_install:
- |-
case $TRAVIS_OS_NAME in
windows)
[[ ! -f C:/tools/msys64/msys2_shell.cmd ]] && rm -rf C:/tools/msys64
choco uninstall -y mingw
choco upgrade --no-progress -y msys2
export msys2='cmd //C RefreshEnv.cmd '
export msys2+='& set MSYS=winsymlinks:nativestrict '
export msys2+='& C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start'
export mingw64="$msys2 -mingw64 -full-path -here -c "\"\$@"\" --"
export msys2+=" -msys2 -c "\"\$@"\" --"
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-toolchain
## Install more MSYS2 packages from https://packages.msys2.org/base here
$msys2 pacman --sync --noconfirm --needed cmake mingw-w64-x86_64-ninja
$msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_image mingw-w64-x86_64-SDL2_net mingw-w64-x86_64-SDL2_mixer mingw-w64-x86_64-SDL2_gfx zip
taskkill //IM gpg-agent.exe //F # https://travis-ci.community/t/4967
export PATH=/C/tools/msys64/mingw64/bin:$PATH
export MAKE=mingw32-make # so that Autotools can find it
;;
esac
before_cache:
- |-
case $TRAVIS_OS_NAME in
windows)
# https://unix.stackexchange.com/a/137322/107554
$msys2 pacman --sync --clean --noconfirm
$msys2 rm /C/tools/msys64/var/log/pacman.log
;;
esac
cache:
directories:
- "$HOME/AppData/Local/Temp/chocolatey"
- "/C/tools/msys64"
script:
- mkdir build && cd build && cmake .. -DCMAKE_MAKE_PROGRAM=mingw32-make -G "MSYS Makefiles"
- mingw32-make && tar -zcf /C/build-windows.zip BruxRelease
deploy:
provider: releases
api_key: $MyOoth
file_glob: true
file: "C:/build-windows.zip"
skip_cleanup: true
on:
repo: <repo Name here>
branches:
except:
- legacy
- experimental
- /^untagged/
The magic here involves making sure to place the build file for windows in a path you can refrence. Thats why i placed it in the C:/ path