2018-06-27 02:15:22 +00:00
|
|
|
---
|
2019-10-07 01:51:25 +00:00
|
|
|
cache: ccache
|
2019-10-08 17:47:07 +00:00
|
|
|
dist: xenial
|
2019-10-07 01:51:25 +00:00
|
|
|
language: cpp
|
|
|
|
services: xvfb
|
2018-06-27 02:15:22 +00:00
|
|
|
sudo: required
|
|
|
|
|
|
|
|
matrix:
|
|
|
|
fast_finish: true
|
|
|
|
include:
|
2019-10-08 15:18:19 +00:00
|
|
|
- env: BUILD_ENV=ubuntu-bionic XVFB_RUN=1
|
2019-08-31 23:46:25 +00:00
|
|
|
dist: bionic
|
2019-10-07 01:51:25 +00:00
|
|
|
- env: BUILD_ENV=ubuntu-trusty XVFB_RUN=1
|
2019-10-08 17:47:07 +00:00
|
|
|
dist: trusty
|
|
|
|
- env: BUILD_ENV=ubuntu-xenial XVFB_RUN=1
|
2019-11-13 01:46:02 +00:00
|
|
|
- env: BUILD_ENV=ubuntu-xenial-minimal INSTALLDEPS_ARGS="--no-openal --no-ffmpeg" XVFB_RUN=1
|
2019-10-08 17:47:07 +00:00
|
|
|
- env: BUILD_ENV=ubuntu-xenial XVFB_RUN=1 CC=clang CXX=clang++
|
2019-03-09 00:56:46 +00:00
|
|
|
- env: BUILD_ENV=mingw-w64
|
|
|
|
- env: BUILD_ENV=mingw-w32
|
2018-06-29 03:51:13 +00:00
|
|
|
- env: BUILD_ENV=libretro
|
2019-10-07 14:33:08 +00:00
|
|
|
- env: BUILD_ENV=libretro CC=clang CXX=clang++
|
2018-06-27 02:15:22 +00:00
|
|
|
- env: BUILD_ENV=mac
|
|
|
|
os: osx
|
2019-05-29 23:26:46 +00:00
|
|
|
osx_image: xcode10.2
|
2019-10-07 01:51:25 +00:00
|
|
|
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
|
2020-02-03 01:41:37 +00:00
|
|
|
PATH="$PATH:/usr/lib/mxe/usr/bin"
|
2019-10-07 01:51:25 +00:00
|
|
|
;;
|
|
|
|
mingw-w32 )
|
|
|
|
ARG=MinGW-w64-i686
|
|
|
|
CMAKE=/usr/lib/mxe/usr/bin/i686-w64-mingw32.static-cmake
|
2020-02-03 01:41:37 +00:00
|
|
|
PATH="$PATH:/usr/lib/mxe/usr/bin"
|
2019-10-07 01:51:25 +00:00
|
|
|
;;
|
|
|
|
* )
|
|
|
|
CMAKE=cmake
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
- |
|
|
|
|
if [ "$BUILD_ENV" != libretro ]; then
|
2019-11-13 01:46:02 +00:00
|
|
|
./installdeps $INSTALLDEPS_ARGS $ARG
|
2019-10-07 16:20:03 +00:00
|
|
|
DIR=build
|
|
|
|
else
|
|
|
|
DIR=src/libretro
|
2019-10-07 01:51:25 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
before_script:
|
|
|
|
- |
|
|
|
|
if [ -n "$ENABLE_SDL" ]; then
|
|
|
|
CMAKE_ARGS="$CMAKE_ARGS -DENABLE_SDL=ON"
|
|
|
|
fi
|
|
|
|
|
|
|
|
script:
|
2019-10-07 16:20:03 +00:00
|
|
|
- mkdir -p -- "$DIR"
|
|
|
|
- cd -- "$DIR"
|
2019-10-07 01:51:25 +00:00
|
|
|
- if [ "$BUILD_ENV" != libretro ]; then $CMAKE $CMAKE_ARGS ..; fi
|
cmake: Fix fedora mingw build + misc improvements.
Use the 3.x wxwidgets mingw package in installdeps.
Add the win64 alias to installdeps for 64 bit mingw builds, like the
win32 alias for 32 bit mingw builds.
Check CROSS_ARCH in Architecture.cmake, set by our mingw toolchains.
Disable LTO by default for all mingw builds, not just amd64, because it
is unfortunately broken on i686 as well now.
Search for heuristically the most appropriate wx-config and set
wxWidgets_CONFIG_EXECUTABLE accordingly in the mingw toolchains.
Refactor the mingw toolchains somewhat, put common code into a common
file, add static toolchains.
For static toolchains, also search for a static zlib and set ZLIB_ROOT.
Change installdeps instructions to use ninja instead of make. Add ninja
to all target dependencies where it was missing, this may be incorrect
in a couple of the rarely used targets, if this is the case the affected
users are free to open an issue.
Also start using ninja on travis instead of make, except for libretro
which uses a GNU Makefile.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2020-02-01 16:43:08 +00:00
|
|
|
- if [ "$BUILD_ENV" != libretro ]; then ninja; else make; fi
|
|
|
|
- if [ "$BUILD_ENV" != libretro ]; then DESTDIR=/tmp/VBAM ninja install; fi
|
2019-10-07 01:51:25 +00:00
|
|
|
- |
|
2019-10-07 23:22:04 +00:00
|
|
|
if [ "$BUILD_ENV" = mac ]; then
|
|
|
|
./$PRGNAM.app/Contents/MacOS/$PRGNAM --help
|
|
|
|
elif [ -n "$XVFB_RUN" ]; then
|
2019-10-08 15:18:19 +00:00
|
|
|
xvfb-run -a ./$PRGNAM --help
|
2019-10-07 01:51:25 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
env:
|
|
|
|
global:
|
cmake: Fix fedora mingw build + misc improvements.
Use the 3.x wxwidgets mingw package in installdeps.
Add the win64 alias to installdeps for 64 bit mingw builds, like the
win32 alias for 32 bit mingw builds.
Check CROSS_ARCH in Architecture.cmake, set by our mingw toolchains.
Disable LTO by default for all mingw builds, not just amd64, because it
is unfortunately broken on i686 as well now.
Search for heuristically the most appropriate wx-config and set
wxWidgets_CONFIG_EXECUTABLE accordingly in the mingw toolchains.
Refactor the mingw toolchains somewhat, put common code into a common
file, add static toolchains.
For static toolchains, also search for a static zlib and set ZLIB_ROOT.
Change installdeps instructions to use ninja instead of make. Add ninja
to all target dependencies where it was missing, this may be incorrect
in a couple of the rarely used targets, if this is the case the affected
users are free to open an issue.
Also start using ninja on travis instead of make, except for libretro
which uses a GNU Makefile.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2020-02-01 16:43:08 +00:00
|
|
|
- CMAKE_ARGS="-G Ninja"
|
2019-10-07 01:51:25 +00:00
|
|
|
- ENABLE_SDL=1
|
|
|
|
- MAKEFLAGS="-j2"
|
2019-10-08 15:18:19 +00:00
|
|
|
- PRGNAM=visualboyadvance-m
|
2018-12-05 22:38:54 +00:00
|
|
|
|
|
|
|
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
|