# https://docs.travis-ci.com/user/customizing-the-build/ language: cpp sudo: required matrix: include: - os: linux compiler: gcc addons: apt: packages: - libsdl2-dev env: Tr_Compiler_Version="7" # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test dist: trusty # broken compiler on 12.04 - os: linux compiler: gcc addons: apt: packages: - libsdl2-dev env: Tr_Compiler_Version="default" dist: trusty - os: linux compiler: clang addons: apt: packages: - libsdl2-dev env: Tr_Compiler_Version="5.0" # http://apt.llvm.org/, compiler not newer than available on debian testing # https://packages.debian.org/search?suite=testing&keywords=clang- dist: trusty - os: linux compiler: clang addons: apt: packages: - libsdl2-dev env: Tr_Compiler_Version="default" dist: trusty # broken compiler on 12.04 - os: osx #osx_image: xcode6.4 # seems broken and has lower priority in queue than default one env: Tr_Xcode_Version="default" #env: Tr_Xcode_Version="6.4" # https://docs.travis-ci.com/user/osx-ci-environment/#OS-X-Version # https://github.com/Homebrew/brew/blob/master/docs/Installation.md#requirements fast_finish: true allow_failures: - os: osx # it's not really acceptable to wait 40 minutes or sometimes up to even 3 hours # for the result just because the queue for mac is always so long git: submodules: false #branches: # only: # - master before_install: - if [ "$TRAVIS_OS_NAME" = "linux" ]; then ./.travis-before_install.sh "$CC" "$Tr_Compiler_Version"; fi - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update; fi - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install sdl2 lua freetype ftgl libogg glew libvorbis cppunit glib fribidi miniupnpc wxmac; fi # ^ not on travis also needed are: cmake + pkgconfig + xquartz (find by "search") + (maybe) git + (maybe) bash - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew outdated cmake || brew upgrade cmake; brew outdated pkgconfig || brew upgrade pkgconfig; fi - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew link --force gettext; fi # ^ odd linking problems related with brew which is not creating links - if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$Tr_Xcode_Version" = "6.4" ]; then brew install Caskroom/cask/xquartz; fi - if [ "$Tr_Compiler_Version" != "" ] && [ "$Tr_Compiler_Version" != "default" ] && [ "$CC" = "gcc" ]; then export CXX="g++-${Tr_Compiler_Version}" CC="gcc-${Tr_Compiler_Version}"; fi - if [ "$Tr_Compiler_Version" != "" ] && [ "$Tr_Compiler_Version" != "default" ] && [ "$CC" == "clang" ]; then export CXX="clang++-${Tr_Compiler_Version}" CC="clang-${Tr_Compiler_Version}"; fi - $CC --version - $CXX --version - cmake --version script: # ALL THE BUILD COMMANDS HERE - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$(echo "$CC" | grep 'clang')" = "" ]; then mk/linux/build-mg.sh -c 4; fi - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$(echo "$CC" | grep 'clang')" != "" ]; then mk/linux/build-mg.sh -w -c 4; fi # ^ -w may be removed on more modern dist: than trusty, problems related with 'new wx+clang+old gcc' - if [ "$TRAVIS_OS_NAME" = "osx" ]; then mk/macos/build-mg.sh -c 4; fi # https://docs.travis-ci.com/user/notifications/#IRC-notification notifications: irc: channels: - "irc.libera.chat#megaglest" skip_join: true use_notice: true on_success: change template: - "[%{repository_name}#%{branch}@%{commit}] %{author}: %{message} %{build_url}"