1language: cpp 2 3sudo: false 4 5# C'mon Travis, you're a great service, but why do I need a script to generate my build matrix? 6 7# cat $0 | sed -e 's/^\(.\)/# \1/' -e 's/^$/#/' 8# 9# cat <<EOF 10# matrix: 11# include: 12# 13# EOF 14# 15# 16# for os in linux ; do 17# for compiler in g++-5 clang++-3.8 ; do 18# for buildtype in Release Debug ; do 19# for std in c++98 c++11 ; do 20# cat <<EOF 21# - os: $os 22# compiler: $compiler 23# env: 24# - CXX_STD=$std 25# - COMPILER=$compiler 26# - BUILD_TYPE=$buildtype 27# EOF 28# if [[ $os == linux ]] ; then 29# cat <<EOF 30# addons: 31# apt: 32# sources: 33# - ubuntu-toolchain-r-test 34# - llvm-toolchain-precise-3.8 35# packages: 36# - $compiler 37# EOF 38# fi 39# echo 40# done 41# done 42# done 43# done 44matrix: 45 include: 46 47 - os: linux 48 compiler: g++-5 49 env: 50 - CXX_STD=c++98 51 - COMPILER=g++-5 52 - BUILD_TYPE=Release 53 addons: 54 apt: 55 sources: 56 - ubuntu-toolchain-r-test 57 - llvm-toolchain-precise-3.8 58 packages: 59 - g++-5 60 61 - os: linux 62 compiler: g++-5 63 env: 64 - CXX_STD=c++11 65 - COMPILER=g++-5 66 - BUILD_TYPE=Release 67 addons: 68 apt: 69 sources: 70 - ubuntu-toolchain-r-test 71 - llvm-toolchain-precise-3.8 72 packages: 73 - g++-5 74 75 - os: linux 76 compiler: g++-5 77 env: 78 - CXX_STD=c++98 79 - COMPILER=g++-5 80 - BUILD_TYPE=Debug 81 addons: 82 apt: 83 sources: 84 - ubuntu-toolchain-r-test 85 - llvm-toolchain-precise-3.8 86 packages: 87 - g++-5 88 89 - os: linux 90 compiler: g++-5 91 env: 92 - CXX_STD=c++11 93 - COMPILER=g++-5 94 - BUILD_TYPE=Debug 95 addons: 96 apt: 97 sources: 98 - ubuntu-toolchain-r-test 99 - llvm-toolchain-precise-3.8 100 packages: 101 - g++-5 102 103 - os: linux 104 compiler: clang++-3.8 105 env: 106 - CXX_STD=c++98 107 - COMPILER=clang++-3.8 108 - BUILD_TYPE=Release 109 addons: 110 apt: 111 sources: 112 - ubuntu-toolchain-r-test 113 - llvm-toolchain-precise-3.8 114 packages: 115 - clang++-3.8 116 117 - os: linux 118 compiler: clang++-3.8 119 env: 120 - CXX_STD=c++11 121 - COMPILER=clang++-3.8 122 - BUILD_TYPE=Release 123 addons: 124 apt: 125 sources: 126 - ubuntu-toolchain-r-test 127 - llvm-toolchain-precise-3.8 128 packages: 129 - clang++-3.8 130 131 - os: linux 132 compiler: clang++-3.8 133 env: 134 - CXX_STD=c++98 135 - COMPILER=clang++-3.8 136 - BUILD_TYPE=Debug 137 addons: 138 apt: 139 sources: 140 - ubuntu-toolchain-r-test 141 - llvm-toolchain-precise-3.8 142 packages: 143 - clang++-3.8 144 145 - os: linux 146 compiler: clang++-3.8 147 env: 148 - CXX_STD=c++11 149 - COMPILER=clang++-3.8 150 - BUILD_TYPE=Debug 151 addons: 152 apt: 153 sources: 154 - ubuntu-toolchain-r-test 155 - llvm-toolchain-precise-3.8 156 packages: 157 - clang++-3.8 158 159 - os: osx 160 compiler: clang 161 env: 162 - CXX_STD=c++98 163 - COMPILER=clang++ 164 - BUILD_TYPE=Release 165 166 - os: osx 167 compiler: clang 168 env: 169 - CXX_STD=c++11 170 - COMPILER=clang++ 171 - BUILD_TYPE=Release 172 173 - os: osx 174 compiler: clang 175 env: 176 - CXX_STD=c++98 177 - COMPILER=clang++ 178 - BUILD_TYPE=Debug 179 180 - os: osx 181 compiler: clang 182 env: 183 - CXX_STD=c++11 184 - COMPILER=clang++ 185 - BUILD_TYPE=Debug 186 187 188before_script: 189 - cmake --version 190 191script: 192 - mkdir build 193 - cd build 194 - cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCXX_STD=$CXX_STD .. 195 - make testall 196 197