.gitlab-ci.yml 2.19 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# 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/systems/* higan-nightly/
16
    - cp -a shaders "higan-nightly/Video Shaders"
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
  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
    - 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/systems/* higan-nightly/
36
    - cp -a shaders "higan-nightly/Video Shaders"
37 38 39
  artifacts:
    paths:
      - higan-nightly/*
40 41 42

libretro-test:
  script:
43
    - apt-get update && apt-get -y install build-essential git
44 45 46
    # 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
47 48
    - make -C higan compiler=g++ binary=library target=libretro
    - mkdir libretro-nightly
Screwtape's avatar
Screwtape committed
49
    - cp -a higan/out/higan_sfc_libretro.so libretro-nightly/
50 51 52
  artifacts:
    paths:
      - libretro-nightly/*