104 lines
3.3 KiB
YAML
104 lines
3.3 KiB
YAML
---
|
|
cache: ccache
|
|
dist: xenial
|
|
language: cpp
|
|
services: xvfb
|
|
sudo: required
|
|
|
|
matrix:
|
|
fast_finish: true
|
|
include:
|
|
- env: BUILD_ENV=ubuntu-bionic XVFB_RUN=1
|
|
dist: bionic
|
|
# - env: BUILD_ENV=utf8 XVFB_RUN=1
|
|
# dist: bionic
|
|
# - env: BUILD_ENV=nostl XVFB_RUN=1
|
|
# dist: bionic
|
|
- env: BUILD_ENV=ubuntu-trusty XVFB_RUN=1
|
|
dist: trusty
|
|
- env: BUILD_ENV=ubuntu-xenial XVFB_RUN=1
|
|
- env: BUILD_ENV=ubuntu-xenial-minimal INSTALLDEPS_ARGS="--no-openal --no-ffmpeg" XVFB_RUN=1
|
|
- env: BUILD_ENV=ubuntu-xenial XVFB_RUN=1 CC=clang CXX=clang++
|
|
- env: BUILD_ENV=mingw-w64
|
|
- env: BUILD_ENV=mingw-w32
|
|
- env: BUILD_ENV=libretro
|
|
- env: BUILD_ENV=libretro CC=clang CXX=clang++
|
|
- env: BUILD_ENV=mac
|
|
os: osx
|
|
osx_image: xcode12
|
|
install: export PATH="/usr/local/opt/ccache/libexec:$PATH"
|
|
|
|
before_install:
|
|
- |
|
|
case "$BUILD_ENV" in
|
|
mingw-w64 )
|
|
ARG=MinGW-w64-x86_64
|
|
CMAKE=/usr/lib/mxe/usr/bin/x86_64-w64-mingw32.static-cmake
|
|
PATH="$PATH:/usr/lib/mxe/usr/bin"
|
|
;;
|
|
mingw-w32 )
|
|
ARG=MinGW-w64-i686
|
|
CMAKE=/usr/lib/mxe/usr/bin/i686-w64-mingw32.static-cmake
|
|
PATH="$PATH:/usr/lib/mxe/usr/bin"
|
|
;;
|
|
* )
|
|
CMAKE=cmake
|
|
;;
|
|
esac
|
|
- |
|
|
if [ "$BUILD_ENV" != libretro ]; then
|
|
./installdeps $INSTALLDEPS_ARGS $ARG
|
|
DIR=build
|
|
else
|
|
DIR=src/libretro
|
|
fi
|
|
|
|
before_script:
|
|
- |
|
|
if [ -n "$ENABLE_SDL" ]; then
|
|
CMAKE_ARGS="$CMAKE_ARGS -DENABLE_SDL=ON"
|
|
fi
|
|
case "$BUILD_ENV" in
|
|
utf8|nostl)
|
|
sudo apt-get -y install stow libwxgtk3.0-gtk3-dev
|
|
(
|
|
cd /
|
|
sudo curl -LO 'http://cachemiss.com/files/wxWidgets-gtk3-'"$BUILD_ENV"'-3.0.5.tar.gz'
|
|
sudo tar zxvf wxWidgets-gtk3-"$BUILD_ENV"-3.0.5.tar.gz
|
|
cd /usr/local/stow
|
|
sudo stow wxWidgets-gtk3-"$BUILD_ENV"-3.0.5
|
|
)
|
|
export LD_LIBRARY_PATH=/usr/local/lib
|
|
CMAKE_ARGS="$CMAKE_ARGS -DwxWidgets_CONFIG_EXECUTABLE=/usr/local/bin/wx-config -DWXRC=/usr/local/bin/wxrc"
|
|
;;
|
|
esac
|
|
|
|
script:
|
|
- mkdir -p -- "$DIR"
|
|
- cd -- "$DIR"
|
|
- if [ "$BUILD_ENV" != libretro ]; then $CMAKE $CMAKE_ARGS ..; fi
|
|
- if [ "$BUILD_ENV" != libretro ]; then ninja; else make; fi
|
|
- if [ "$BUILD_ENV" != libretro ]; then DESTDIR=/tmp/VBAM ninja install; fi
|
|
- |
|
|
if [ "$BUILD_ENV" = mac ]; then
|
|
./$PRGNAM.app/Contents/MacOS/$PRGNAM --help
|
|
elif [ -n "$XVFB_RUN" ]; then
|
|
xvfb-run -a ./$PRGNAM --help
|
|
fi
|
|
ctest -V
|
|
|
|
env:
|
|
global:
|
|
- CMAKE_ARGS="-G Ninja"
|
|
- ENABLE_SDL=1
|
|
- MAKEFLAGS="-j2"
|
|
- PRGNAM=visualboyadvance-m
|
|
|
|
notifications:
|
|
webhooks:
|
|
urls:
|
|
- https://webhooks.gitter.im/e/b273e1f74f164855d115
|
|
on_success: change # options: [always|never|change] default: always
|
|
on_failure: always # options: [always|never|change] default: always
|
|
on_start: never # options: [always|never|change] default: always
|