summaryrefslogtreecommitdiff
path: root/external/semver/.travis.yml
blob: e8a599a62007b63473679a88874f688dc398e9d3 (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
# adapted from https://github.com/ericniebler/range-v3

language: cpp
script: cmake

matrix:
  include:
    - env: CLANG_VERSION=3.4 BUILD_TYPE=Debug CPP=1y SAN=On LIBCXX=On
      os: linux
      addons: &clang34
        apt:
          packages:
            - util-linux
            - clang-3.4
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-precise-3.4

    - env: CLANG_VERSION=3.4 BUILD_TYPE=Release CPP=1y SAN=On LIBCXX=On
      os: linux
      addons: *clang34

    - env: CLANG_VERSION=3.7 BUILD_TYPE=Debug CPP=14 SAN=Off LIBCXX=On
      os: linux
      addons: &clang37
        apt:
          packages:
            - util-linux
            - clang-3.7
          sources:
            - ubuntu-toolchain-r-test
            - llvm-toolchain-precise-3.7

    - env: CLANG_VERSION=3.7 BUILD_TYPE=Release CPP=14 SAN=Off LIBCXX=On
      os: linux
      addons: *clang37

    # - env: GCC_VERSION=4.9 BUILD_TYPE=Debug CPP=14 SAN=Off LIBCXX=Off
    #   os: linux
    #   addons: &gcc49
    #     apt:
    #       packages:
    #         - g++-4.9
    #       sources:
    #         - ubuntu-toolchain-r-test

    # - env: GCC_VERSION=4.9 BUILD_TYPE=Release CPP=14 SAN=Off LIBCXX=Off
    #   os: linux
    #   addons: *gcc49

    - env: GCC_VERSION=5 BUILD_TYPE=Debug CPP=14 SAN=Off LIBCXX=Off
      os: linux
      addons: &gcc5
        apt:
          packages:
            - g++-5
          sources:
            - ubuntu-toolchain-r-test

    - env: GCC_VERSION=5 BUILD_TYPE=Release CPP=14 SAN=Off LIBCXX=Off
      os: linux
      addons: *gcc5

before_install:
  - export CHECKOUT_PATH=`pwd`;
  - if [ -n "$GCC_VERSION" ]; then export CXX="g++-${GCC_VERSION}" CC="gcc-${GCC_VERSION}"; fi
  - if [ -n "$CLANG_VERSION" ]; then export CXX="clang++-${CLANG_VERSION}" CC="clang-${CLANG_VERSION}"; fi
  - if [ "$CLANG_VERSION" == "3.4" ]; then export CXX="/usr/local/clang-3.4/bin/clang++" CC="/usr/local/clang-3.4/bin/clang"; fi
  - if [ "$LIBCXX" == "On" ]; then sudo CXX=$CXX CC=$CC ./install_libcxx.sh; fi

install:
  - cd $CHECKOUT_PATH

  - if [ ! -d build ]; then mkdir build; fi
  - cd build

  - export CXX_FLAGS=""
  - export CXX_LINKER_FLAGS=""

  - if [ -z "$BUILD_TYPE" ]; then export BUILD_TYPE=Debug; fi

  - if [ -n "$CLANG_VERSION" ]; then CXX_FLAGS="${CXX_FLAGS} -D__extern_always_inline=inline"; fi
  - if [ "$LIBCXX" == "On" ]; then CXX_FLAGS="${CXX_FLAGS} -stdlib=libc++ -I/usr/include/c++/v1/"; fi
  - if [ "$LIBCXX" == "On" ]; then CXX_LINKER_FLAGS="${CXX_FLAGS} -L/usr/lib/ -lc++"; fi

  - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_FLAGS="${CXX_FLAGS}" -DCMAKE_EXE_LINKER_FLAGS="${CXX_LINKER_FLAGS}" -DCXX_STD=$CPP -DCI_BUILD=1
  - make VERBOSE=1

script:
  - if [ "$BUILD_TYPE" == "Debug" ]; then ctest -VV --schedule-random; fi

notifications:
  email: false