# This setting is to prevent travis to launch duplicate builds on PRs branches: only: - master - /^v.*$/ # Use 'generic' to be able to override CC/CXX for clang language: generic # Use a release with a longer normal LTS dist: xenial matrix: include: - compiler: mingw-x86 addons: true env: CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - compiler: mingw-x86 addons: true env: C89_BUILD=1 CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - compiler: mingw-x86 addons: true env: CXX_BUILD=1 CROSS_COMPILE=i686-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - compiler: mingw-x64 addons: true env: CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - compiler: mingw-x64 addons: true env: C89_BUILD=1 CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - compiler: mingw-x64 addons: true env: CXX_BUILD=1 CROSS_COMPILE=x86_64-w64-mingw32- CFLAGS="-D_WIN32_WINNT=0x0501" - compiler: gcc env: CC=gcc-8 CXX=g++-8 - compiler: gcc env: C89_BUILD=1 CC=gcc-8 CXX=g++-8 - compiler: gcc env: CXX_BUILD=1 CC=gcc-8 CXX=g++-8 - compiler: gcc env: DISABLE_MENU=1 CC=gcc-8 CXX=g++-8 - compiler: gcc env: DISABLE_OVERLAY=1 CC=gcc-8 CXX=g++-8 - compiler: gcc env: DISABLE_CDROM=1 CC=gcc-8 CXX=g++-8 - compiler: gcc env: DISABLE_VIDEO_LAYOUT=1 CC=gcc-8 CXX=g++-8 - compiler: gcc env: DISABLE_AUDIOMIXER=1 CC=gcc-8 CXX=g++-8 - compiler: gcc env: ENABLE_GLES=1 CC=gcc-8 CXX=g++-8 - compiler: gcc env: ENABLE_GLES=1 ENABLE_GLES3=1 CC=gcc-8 CXX=g++-8 - compiler: clang env: CC=clang-6.0 CXX=clang++-6.0 - compiler: clang env: C89_BUILD=1 CC=clang-6.0 CXX=clang++-6.0 - compiler: clang env: CXX_BUILD=1 CC=clang-6.0 CXX=clang++-6.0 - os: osx env: CC=clang CXX=clang++ - os: osx osx_image: xcode8 script: - xcodebuild -target RetroArch -configuration Release -project pkg/apple/RetroArch.xcodeproj - os: osx osx_image: xcode11.1 script: - brew update-reset - brew install --force-bottle qt5 - xcodebuild -target RetroArchQt -configuration Release -project pkg/apple/RetroArch_Metal.xcodeproj deploy: skip_cleanup: true provider: script script: bash travis_metal_deploy.sh on: branch: master - language: android # Android builds are only supported on Trusty dist: trusty android: components: - tools - build-tools-28.0.3 - android-28 install: - echo y | sdkmanager "ndk-bundle" before_script: - export ANDROID_NDK_HOME=$ANDROID_HOME/ndk-bundle script: - cd pkg/android/phoenix - ./gradlew assembleNormalRelease before_install: - | if [ "$CC" = gcc-8 ]; then # Install a more recent gcc than the default sudo apt-get install -y g++-8 elif [ "$CC" = clang-6.0 ]; then # Install a more recent clang than the default sudo apt-get install -y clang-6.0 elif [ "$CROSS_COMPILE" = i686-w64-mingw32- ]; then sudo update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix elif [ "$CROSS_COMPILE" = x86_64-w64-mingw32- ]; then sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix fi script: - | if [ -n "$CROSS_COMPILE" ]; then ARGS="$ARGS --disable-d3d8 --disable-d3d9 --disable-d3d10 --disable-d3d11 --disable-d3d12" fi - | if [ -n "$DISABLE_MENU" ]; then ARGS="$ARGS --disable-menu" fi - | if [ -n "$DISABLE_OVERLAY" ]; then ARGS="$ARGS --disable-overlay" fi - | if [ -n "$DISABLE_CDROM" ]; then ARGS="$ARGS --disable-cdrom" fi - | if [ -n "$DISABLE_VIDEO_LAYOUT" ]; then ARGS="$ARGS --disable-video_layout" fi - | if [ -n "$DISABLE_AUDIOMIXER" ]; then ARGS="$ARGS --disable-audiomixer" fi - | if [ -n "$ENABLE_GLES" ]; then ARGS="$ARGS --enable-opengles" fi - | if [ -n "$ENABLE_GLES3" ]; then ARGS="$ARGS --enable-opengles3" fi - ./configure $ARGS - | if [ -n "$C89_BUILD" ]; then make C89_BUILD=1 elif [ -n "$CXX_BUILD" ]; then make CXX_BUILD=1 else make fi env: global: - ARGS="" - MAKEFLAGS="-j2" - secure: "qc91ReC3OlzSh2gFaSH6TYzC2qIQvgA2AZff6J13eaH8xijAhuMzttZ0rMQJ0DWCIhPeUb0kIzVyaGoe4MwPALzpw1C1AznIWiZJ53HN+hWCOcS/af7YVPk6HPySnwqrS+Wv3AIIvIKFV2mxv21F/JbT/N+pArlRrp904Xj+KPo=" addons: apt: packages: - libsdl2-dev - libusb-1.0-0-dev - qtbase5-dev - qtdeclarative5-dev sources: - ubuntu-toolchain-r-test - llvm-toolchain-xenial coverity_scan: project: name: "RetroArch" description: "RetroArch is the official reference frontend for the libretro API." notification_email: libretro@gmail.com build_command_prepend: "./configure; make clean" build_command: "make" branch_pattern: coverity_scan notifications: email: true