bsnes/.gitlab-ci.yml

64 lines
2.7 KiB
YAML

# NOTE: This file is not part of the official higan source, it's been added
# to help build WIP binaries with minimal fuss.
image: debian:stable
linux-x86_64-binaries:
script:
- apt-get update && apt-get -y install build-essential libgtk2.0-dev libpulse-dev mesa-common-dev libgtksourceview2.0-dev libcairo2-dev libsdl1.2-dev libxv-dev libao-dev libopenal-dev libudev-dev mkdocs
- make -C genius
- make -C icarus
- make -C higan
- LC_ALL=C.UTF-8 mkdocs build
- mkdir higan-nightly
- cp -a genius/out/genius higan-nightly/genius
- cp -a icarus/out/icarus higan-nightly/icarus
- cp -a icarus/Database higan-nightly/
- cp -a higan/out/higan higan-nightly/higan
- cp -a higan/systems/* higan-nightly/
- cp -a shaders "higan-nightly/Video Shaders"
- cp -a docs_build higan-nightly/docs
- cp -a GPLv3.txt higan-nightly/
artifacts:
paths:
- higan-nightly/*
windows-x86_64-binaries:
# This is a normal Windows cross-compile process, except that
# nall::chrono tries to use clock_gettime on Windows even
# though it's a POSIX function, and for some weird reason mingw has
# clock_gettime() in the pthread library.
script:
- apt-get update && apt-get -y install build-essential mingw-w64 mkdocs
- sed -i -e 's/-lole32/& -static -lpthread/' nall/GNUmakefile
- make -C genius platform=windows compiler="x86_64-w64-mingw32-g++ -static-libgcc -static-libstdc++" windres="x86_64-w64-mingw32-windres"
- make -C icarus platform=windows compiler="x86_64-w64-mingw32-g++ -static-libgcc -static-libstdc++" windres="x86_64-w64-mingw32-windres"
- make -C higan platform=windows compiler="x86_64-w64-mingw32-g++ -static-libgcc -static-libstdc++" windres="x86_64-w64-mingw32-windres"
- LC_ALL=C.UTF-8 mkdocs build
- mkdir higan-nightly
- cp -a genius/out/genius higan-nightly/genius.exe
- cp -a icarus/out/icarus higan-nightly/icarus.exe
- cp -a icarus/Database higan-nightly/
- cp -a higan/out/higan higan-nightly/higan.exe
- cp -a higan/systems/* higan-nightly/
- cp -a shaders "higan-nightly/Video Shaders"
- cp -a docs_build higan-nightly/docs
- cp -a GPLv3.txt higan-nightly/
artifacts:
paths:
- higan-nightly/*
libretro-test:
script:
- apt-get update && apt-get -y install build-essential git
# git refuses to even attempt a merge if you haven't told it who you are,
# even if you use --no-commit. *sigh*
- EMAIL=fake-email@example.com git merge origin/libretro
- make -C higan binary=library target=libretro
- mkdir libretro-nightly
- cp -a higan/out/higan_sfc_libretro.so libretro-nightly/
- cp -a GPLv3.txt libretro-nightly/
artifacts:
paths:
- libretro-nightly/*