bsnes/.gitlab-ci.yml

96 lines
4.1 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
higan-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 libsdl2-dev libxv-dev libao-dev libopenal-dev libudev-dev mkdocs
- make -C genius
- make -C higan target=higan
- LC_ALL=C.UTF-8 mkdocs build
- mkdir higan-nightly
- cp -a genius/out/genius higan-nightly/genius
- cp -a higan/out/higan higan-nightly/higan
- cp -a higan/systems/ higan-nightly/
- cp -a shaders higan-nightly/
- cp -a docs_build higan-nightly/docs
- cp -a GPLv3.txt higan-nightly/
artifacts:
paths:
- higan-nightly/*
#bsnes-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 libsdl2-dev libxv-dev libao-dev libopenal-dev libudev-dev
# - make -C higan target=bsnes
# - mkdir bsnes-nightly
# - cp -a higan/out/bsnes bsnes-nightly/bsnes
# - cp -a higan/systems/ bsnes-nightly/
# - cp -a shaders bsnes-nightly/
# - cp -a GPLv3.txt bsnes-nightly/
# artifacts:
# paths:
# - bsnes-nightly/*
higan-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
# genius does not currently build on Windows due to lack of a combo edit control in hiro
#- make -C genius platform=windows compiler="x86_64-w64-mingw32-g++" windres="x86_64-w64-mingw32-windres"
- make -C icarus platform=windows compiler="x86_64-w64-mingw32-g++" windres="x86_64-w64-mingw32-windres"
- make -C higan target=higan platform=windows compiler="x86_64-w64-mingw32-g++" 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 icarus/firmware higan-nightly/
- cp -a higan/out/higan higan-nightly/higan.exe
- cp -a higan/systems/ higan-nightly/
- cp -a shaders higan-nightly/
- cp -a docs_build higan-nightly/docs
- cp -a GPLv3.txt higan-nightly/
artifacts:
paths:
- higan-nightly/*
#bsnes-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
# - sed -i -e 's/-lole32/& -static -lpthread/' nall/GNUmakefile
# # genius does not currently build on Windows due to lack of a combo edit control in hiro
# #- make -C genius platform=windows compiler="x86_64-w64-mingw32-g++" windres="x86_64-w64-mingw32-windres"
# - make -C higan target=bsnes platform=windows compiler="x86_64-w64-mingw32-g++" windres="x86_64-w64-mingw32-windres"
# - mkdir bsnes-nightly
# - cp -a higan/out/bsnes bsnes-nightly/bsnes.exe
# - cp -a higan/systems/ bsnes-nightly/
# - cp -a shaders bsnes-nightly/
# - cp -a GPLv3.txt bsnes-nightly/
# artifacts:
# paths:
# - bsnes-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/*