.travis.yml 1.65 KB
language: c
dist: xenial
sudo: required
osx_image: xcode11

os:
  - linux
  - osx

arch:
  - amd64
  - ppc64le

env:
  - CMAKE_OPTIONS="-DWITH_OPENSSL=ON  -DWITH_GNUTLS=OFF -DWITH_GCRYPT=OFF" # build with OpenSSL
  - CMAKE_OPTIONS="-DWITH_OPENSSL=OFF -DWITH_GNUTLS=ON  -DWITH_GCRYPT=ON"  # build with GnuTLS and Libgrypt
  - CMAKE_OPTIONS="-DWITH_OPENSSL=OFF -DWITH_GNUTLS=OFF -DWITH_GCRYPT=OFF" # build without external encryption libraries
  - CMAKE_OPTIONS="-DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-cross-mingw32-linux.cmake" # crosscompile with MinGW toolchain

jobs:
  exclude:
    - os: osx
      env: CMAKE_OPTIONS="-DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-cross-mingw32-linux.cmake" # don't test MinGW from OSX
    - os: linux
      env: CMAKE_OPTIONS="-DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-cross-mingw32-linux.cmake" # don't test MinGW from ppc64le
      arch: ppc64le

before_install:
  - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get update; sudo apt-get --no-install-suggests --no-install-recommends install libsdl2-dev liblzo2-dev gnutls-dev libgcrypt-dev ; if [ "$TRAVIS_ARCH" = "amd64" ]; then sudo apt-get --no-install-suggests --no-install-recommends install wine; fi ; fi
  - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update; brew install sdl2 lzo; fi

script:
  - mkdir build
  - cd build
  - if [ "$TRAVIS_OS_NAME" = "linux" ]; then cmake $CMAKE_OPTIONS .. ; fi
  - if [ "$TRAVIS_OS_NAME" = "osx" ]; then cmake $CMAKE_OPTIONS -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl .. ; fi
  - cmake --build .
  - cp /usr/i686-w64-mingw32/lib/libwinpthread-1.dll test/ || true # used only for MinGW tests, ok to fail for other cases
  - ctest --output-on-failure