aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
blob: e0b4f448d6f9499d212c83d611e580d1c1d74857 (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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
language: c

sudo: false

cache:
  timeout: 1000
  directories:
    - $HOME/cpu_features_archives

addons:
  apt:
    packages:
    - ninja-build

env:
  global:
    TOOLCHAIN=NATIVE
    CMAKE_GENERATOR=Ninja

matrix:
  include:
  - os: linux
    compiler: gcc
    env:
      TARGET=x86_64-linux-gnu
  - os: linux
    compiler: clang
    env:
      TARGET=x86_64-linux-gnu
  - os: osx
    compiler: gcc
    env:
      TARGET=x86_64-osx
      CMAKE_GENERATOR="Unix Makefiles"
  - os: osx
    compiler: clang
    env:
      TARGET=x86_64-osx
      CMAKE_GENERATOR="Unix Makefiles"
  - os: windows
    env:
      TARGET=x86_64-windows
      CMAKE_GENERATOR="Visual Studio 15 2017 Win64"
  - os: linux-ppc64le
    compiler: gcc
    env:
      TARGET=ppc64le-linux-gnu
  - os: linux-ppc64le
    compiler: clang
    env:
      TARGET=ppc64le-linux-gnu
  # Toolchains for little-endian, 64-bit ARMv8 for GNU/Linux systems
  - os: linux
    env:
      TOOLCHAIN=LINARO
      TARGET=aarch64-linux-gnu
      QEMU_ARCH=aarch64
  # Toolchains for little-endian, hard-float, 32-bit ARMv7 (and earlier) for GNU/Linux systems
  - os: linux
    env:
      TOOLCHAIN=LINARO
      TARGET=arm-linux-gnueabihf
      QEMU_ARCH=arm
  # Toolchains for little-endian, 32-bit ARMv8 for GNU/Linux systems
  - os: linux
    env:
      TOOLCHAIN=LINARO
      TARGET=armv8l-linux-gnueabihf
      QEMU_ARCH=arm
  # Toolchains for little-endian, soft-float, 32-bit ARMv7 (and earlier) for GNU/Linux systems
  - os: linux
    env:
      TOOLCHAIN=LINARO
      TARGET=arm-linux-gnueabi
      QEMU_ARCH=arm
  # Toolchains for big-endian, 64-bit ARMv8 for GNU/Linux systems
  - os: linux
    env:
      TOOLCHAIN=LINARO
      TARGET=aarch64_be-linux-gnu
      QEMU_ARCH=DISABLED
  # Toolchains for big-endian, hard-float, 32-bit ARMv7 (and earlier) for GNU/Linux systems
  - os: linux
    env:
      TOOLCHAIN=LINARO
      TARGET=armeb-linux-gnueabihf
      QEMU_ARCH=DISABLED
  # Toolchains for big-endian, soft-float, 32-bit ARMv7 (and earlier) for GNU/Linux systems
  - os: linux
    env:
      TOOLCHAIN=LINARO
      TARGET=armeb-linux-gnueabi
      QEMU_ARCH=DISABLED
  - os: linux
    env:
      TOOLCHAIN=CODESCAPE
      TARGET=mips32
      QEMU_ARCH=mips
  - os: linux
    env:
      TOOLCHAIN=CODESCAPE
      TARGET=mips32el
      QEMU_ARCH=mipsel
  - os: linux
    env:
      TOOLCHAIN=CODESCAPE
      TARGET=mips64
      QEMU_ARCH=mips64
  - os: linux
    env:
      TOOLCHAIN=CODESCAPE
      TARGET=mips64el
      QEMU_ARCH=mips64el

script:
  - cmake --version
  - bash -e -x ./scripts/run_integration.sh