From 21ee597aaefeba4dffd1d55d83ed68727c6922cc Mon Sep 17 00:00:00 2001 From: Tim Allen Date: Fri, 13 Jan 2017 12:18:25 +1100 Subject: [PATCH] Add a `.gitlab-ci.yml` to automate WIP builds. --- .gitlab-ci.yml | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..99cda21c --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,47 @@ +# 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 + - make -C icarus compiler=g++ + - make -C higan compiler=g++ + - mkdir higan-nightly + - 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/data/cheats.bml higan-nightly/ + - cp -a higan/systems/* higan-nightly/ + artifacts: + paths: + - higan-nightly/* + cache: + paths: + - icarus/obj/*.o + - higan/obj/*.o + +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 + - 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" + - mkdir higan-nightly + - 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/data/cheats.bml higan-nightly/ + - cp -a higan/systems/* higan-nightly/ + artifacts: + paths: + - higan-nightly/* + cache: + paths: + - icarus/obj/*.o + - higan/obj/*.o