summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 8aa21a4de45d31d41c343cf285eefcfce86262e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
language: cpp

dist: trusty

sudo: false

compiler:
  - gcc
  - clang

os:
  - linux
  - osx

env:
  - GODOT_TARGET=iphone
  - GODOT_TARGET=osx
  - GODOT_TARGET=x11
  #- GODOT_TARGET=android
  - GODOT_TARGET=windows

matrix:
  include:
    - env: STATIC_CHECKS=yes
  exclude:
    - os: linux
      env: GODOT_TARGET=iphone
    - os: linux
      env: GODOT_TARGET=osx
    - os: linux
      env: GODOT_TARGET=android
    - os: osx
      env: GODOT_TARGET=x11
    - os: osx
      env: GODOT_TARGET=windows
    - compiler: gcc
      env: GODOT_TARGET=iphone
    - compiler: gcc
      env: GODOT_TARGET=osx
    - compiler: clang
      env: GODOT_TARGET=android
    - compiler: clang
      env: GODOT_TARGET=windows
    - compiler: clang
      env: GODOT_TARGET=x11

addons:
  apt:
    sources:
      - ubuntu-toolchain-r-test
      - llvm-toolchain-trusty-3.9
    packages:
      - build-essential
      - scons
      - pkg-config
      - libx11-dev
      - libxcursor-dev
      - libasound2-dev
      - libfreetype6-dev
      - libgl1-mesa-dev
      - libglu1-mesa-dev
      - libssl-dev
      - libxinerama-dev
      - libxrandr-dev

      # For cross-compiling to Windows.
      - binutils-mingw-w64-i686
      - binutils-mingw-w64-x86-64
      - gcc-mingw-w64-i686
      - gcc-mingw-w64-x86-64
      - g++-mingw-w64-i686
      - g++-mingw-w64-x86-64
      - mingw-w64

      # For style checks.
      - clang-format-3.9

before_script:
  - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update; brew install scons; fi
  - if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$GODOT_TARGET" = "android" ]; then
      brew update; brew install -v android-sdk;
      brew install -v android-ndk | grep -v "inflating:" | grep -v "creating:";
      export ANDROID_HOME=/usr/local/opt/android-sdk; export ANDROID_NDK_ROOT=/usr/local/opt/android-ndk;
    fi

script:
  - if [ "$STATIC_CHECKS" = "yes" ]; then
      sh ./misc/travis/clang-format.sh;
    else
      if [ "$TRAVIS_OS_NAME" = "windows" ]; then
        scons platform=$GODOT_TARGET progress=no verbose=yes CXX=$CXX openssl=builtin;
      else
        scons platform=$GODOT_TARGET progress=no verbose=yes bits=64 CXX=$CXX openssl=builtin;
      fi
    fi