sudo: required
dist: xenial
language: cpp
compiler:
  - gcc
  - clang
addons:
  apt:
    packages:
    - libsdl1.2-dev
    - libsdl-net1.2-dev
    - libsdl2-dev
    - libsdl2-net-dev
    - libfreetype6-dev
    - libgl1-mesa-dev
    - libglu1-mesa-dev
    - libpng-dev
    - pkg-config
    - zlib1g-dev
    - liblircclient-dev
    - binutils-dev
    - nasm
    - libopencv-dev
env:
 - OSD=0
 - OSD=1
 - NO_ASM=1
 - LIRC=1
 - PROFILE=1
 - DEBUGGER=1
 - DBG_CORE=1
 - DBG_COUNT=1
 - DBG_COMPARE=1
 - COUNT_INSTR=1
 - NETPLAY=1
script:
 - make -C projects/unix V=1 clean && LDFLAGS="-Wl,--no-add-needed -Wl,--no-undefined" OPTFLAGS="-O2" make SDL_CONFIG=sdl-config CC="${CC}" CXX="${CXX}" -j$(nproc) -C projects/unix V=1 all
 - make -C projects/unix V=1 clean && LDFLAGS="-Wl,--no-add-needed -Wl,--no-undefined" OPTFLAGS="-O2" make SDL_CONFIG=sdl2-config CC="${CC}" CXX="${CXX}" -j$(nproc) -C projects/unix V=1 all

# extra mxe build entries
matrix:
  include:
    - env:
      - MXE_CPU=i686
      - PATH="/usr/lib/mxe/usr/bin/:$PATH"
      before_install:
       - curl -sSL "https://mirror.mxe.cc/repos/apt/client-conf/mxeapt.gpg" | sudo -E apt-key add -
       - echo "deb https://mirror.mxe.cc/repos/apt xenial main" | sudo tee -a /etc/apt/sources.list
       - sudo apt-get update -qq
       - sudo apt-get -y --allow-unauthenticated install mxe-i686-w64-mingw32.shared-gcc
       - sudo apt-get -y --allow-unauthenticated install mxe-i686-w64-mingw32.shared-sdl2
       - sudo apt-get -y --allow-unauthenticated install mxe-i686-w64-mingw32.shared-sdl2-net
       - sudo apt-get -y --allow-unauthenticated install mxe-i686-w64-mingw32.shared-freeglut
       - sudo apt-get -y --allow-unauthenticated install mxe-i686-w64-mingw32.shared-freetype
       - sudo apt-get -y --allow-unauthenticated install mxe-i686-w64-mingw32.shared-libpng
       - sudo apt-get -y --allow-unauthenticated install mxe-i686-w64-mingw32.shared-zlib
       - sudo apt-get -y --allow-unauthenticated install mxe-i686-w64-mingw32.shared-opencv
       - sudo apt-get -y --allow-unauthenticated install mxe-i686-w64-mingw32.shared-pkgconf
       - sudo apt-get -y --allow-unauthenticated install nasm
      script:
      - make UNAME=MINGW CROSS_COMPILE="${MXE_CPU}-w64-mingw32.shared-" CC="${MXE_CPU}-w64-mingw32.shared-gcc" CXX="${MXE_CPU}-w64-mingw32.shared-g++" HOST_CPU="${MXE_CPU}" SDL_CONFIG="${MXE_CPU}-w64-mingw32.shared-sdl2-config" -C projects/unix V=1  clean && 
        make UNAME=MINGW CROSS_COMPILE="${MXE_CPU}-w64-mingw32.shared-" CC="${MXE_CPU}-w64-mingw32.shared-gcc" CXX="${MXE_CPU}-w64-mingw32.shared-g++" HOST_CPU="${MXE_CPU}" SDL_CONFIG="${MXE_CPU}-w64-mingw32.shared-sdl2-config" -C projects/unix V=1 -j$(nproc) all

    - env:
      - MXE_CPU=x86_64
      - PATH="/usr/lib/mxe/usr/bin/:$PATH"
      before_install:
       - curl -sSL "https://mirror.mxe.cc/repos/apt/client-conf/mxeapt.gpg" | sudo -E apt-key add -
       - echo "deb https://mirror.mxe.cc/repos/apt xenial main" | sudo tee -a /etc/apt/sources.list
       - sudo apt-get update -qq
       - sudo apt-get -y --allow-unauthenticated install mxe-x86-64-w64-mingw32.shared-gcc
       - sudo apt-get -y --allow-unauthenticated install mxe-x86-64-w64-mingw32.shared-sdl2
       - sudo apt-get -y --allow-unauthenticated install mxe-x86-64-w64-mingw32.shared-sdl2-net
       - sudo apt-get -y --allow-unauthenticated install mxe-x86-64-w64-mingw32.shared-freeglut
       - sudo apt-get -y --allow-unauthenticated install mxe-x86-64-w64-mingw32.shared-freetype
       - sudo apt-get -y --allow-unauthenticated install mxe-x86-64-w64-mingw32.shared-libpng
       - sudo apt-get -y --allow-unauthenticated install mxe-x86-64-w64-mingw32.shared-zlib
       - sudo apt-get -y --allow-unauthenticated install mxe-x86-64-w64-mingw32.shared-opencv
       - sudo apt-get -y --allow-unauthenticated install mxe-x86-64-w64-mingw32.shared-pkgconf
       - sudo apt-get -y --allow-unauthenticated install nasm
      script:
      - make UNAME=MINGW CROSS_COMPILE="${MXE_CPU}-w64-mingw32.shared-" CC="${MXE_CPU}-w64-mingw32.shared-gcc" CXX="${MXE_CPU}-w64-mingw32.shared-g++" HOST_CPU="${MXE_CPU}" SDL_CONFIG="${MXE_CPU}-w64-mingw32.shared-sdl2-config" -C projects/unix V=1  clean && 
        make UNAME=MINGW CROSS_COMPILE="${MXE_CPU}-w64-mingw32.shared-" CC="${MXE_CPU}-w64-mingw32.shared-gcc" CXX="${MXE_CPU}-w64-mingw32.shared-g++" HOST_CPU="${MXE_CPU}" SDL_CONFIG="${MXE_CPU}-w64-mingw32.shared-sdl2-config" -C projects/unix V=1 -j$(nproc) all
