summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: a4ef5d06bbf75b86046ab9f7a37c2c8fc3e62a6f (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
# Copyright (C) 2017 Sebastian Pipping <sebastian@pipping.org>
# Licensed under the MIT license

language: cpp
os:
  - linux
  - osx
dist: trusty

git:
  depth: 50

env:
  global:
    - CFLAGS='-g -pipe'
  matrix:
    - MODE=cmake-oos
    - MODE=cppcheck
    - MODE=distcheck
    - MODE=qa-sh QA_COMPILER=clang CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address

matrix:
  include:
    - os: linux
      env: MODE=clang-format
    - os: linux
      env: MODE=cmake-oos CMAKE_ARGS="-DEXPAT_ATTR_INFO=ON -DEXPAT_BUILD_FUZZERS=ON -DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_CXX_FLAGS=-fsanitize=address -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++"
    - os: linux
      env: MODE=qa-sh QA_COMPILER=clang CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=address CMAKE_ARGS=-DEXPAT_ATTR_INFO=ON
    - os: linux
      env: MODE=qa-sh QA_COMPILER=clang CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=memory
    - os: linux
      env: MODE=qa-sh QA_COMPILER=clang CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=undefined
    - os: linux
      env: MODE=qa-sh QA_COMPILER=gcc CC=gcc CXX=g++ LD=ld QA_PROCESSOR=gcov
    - os: linux
      env: MODE=qa-sh QA_COMPILER=gcc CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ LD=i686-w64-mingw32-ld QA_PROCESSOR=gcov CMAKE_ARGS="-DCMAKE_SYSTEM_NAME=Windows -DWIN32=ON -DMINGW=ON -DEXPAT_ATTR_INFO=ON"
    - os: linux
      env: MODE=qa-sh QA_COMPILER=gcc CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ LD=i686-w64-mingw32-ld QA_PROCESSOR=gcov CMAKE_ARGS="-DCMAKE_SYSTEM_NAME=Windows -DWIN32=ON -DMINGW=ON -DEXPAT_ATTR_INFO=ON -DEXPAT_UNICODE=ON -DEXPAT_UNICODE_WCHAR_T=ON"

addons:
  homebrew:
    update: true
    brewfile: true
  apt:
    sources:
      - llvm-toolchain-trusty
      - ubuntu-toolchain-r-test
    packages:
      - clang-9
      - clang-format-9
      - cmake
      - cppcheck
      - docbook2x
      - dos2unix
      - lzip
      - mingw-w64
      - moreutils
      - rpm
      - wine

script:
  - ./.travis.sh