forked from elemental/Elemental
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
52 lines (43 loc) · 2.25 KB
/
.travis.yml
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
language: cpp
compiler:
- clang
- gcc
env:
- MPI=mpich2
- MPI=openmpi
matrix:
exclude:
- env: MPI=mpich2
compiler: clang
notifications:
email: false
install:
- sudo add-apt-repository -y ppa:staticfloat/julia-deps
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
- echo deb http://llvm.org/apt/precise/ llvm-toolchain-precise main | sudo tee -a /etc/apt/sources.list
- curl http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
- sudo apt-get update -qq -y
- sudo apt-get install -qq -y lcov clang-3.7 gcc-4.9 g++-4.9 gfortran-4.9 libstdc++-4.9-dev
- git pull --recurse-submodules
- sh travis/install-mpi.sh $MPI
- sudo pip install cpp-coveralls
- curl http://www.cmake.org/files/v3.2/cmake-3.2.1-Linux-x86_64.tar.gz | sudo tar -x -z --strip-components 1 -C /usr
- curl http://ftp.de.debian.org/debian/pool/main/l/lcov/lcov_1.11.orig.tar.gz | tar xz
- sudo make -j2 -C lcov-1.11/ install
- gem install coveralls-lcov
before_script:
- if test x$CC = xclang; then export CC=clang-3.7; export CXX=clang++-3.7; export F77=gfortran-4.9; fi
- if test x$CC = xgcc; then export CC=gcc-4.9; export CXX=g++-4.9; export F77=gfortran-4.9; fi
- sudo hostname localhost
- test $MPI == mpich2 && MPIEXEC='mpiexec -launcher fork' || true
- lcov --directory . --zerocounters
script:
- mkdir build && cd build;
cmake .. -DEL_TESTS=ON -DEL_EXAMPLES=ON -DCMAKE_CXX_COMPILER=$CXX -DCMAKE_C_COMPILER=$CC -DCMAKE_Fortran_COMPILER=$F77 -DCXX_FLAGS="-g -Os -Wall -fprofile-arcs -ftest-coverage -Wl,--no-keep-memory" -DC_FLAGS="-g -Os -Wall -fprofile-arcs -ftest-coverage -Wl,--no-keep-memory" -DFortran_FLAGS="-g -Os -Wall -fprofile-arcs -ftest-coverage -Wl,--no-keep-memory" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=~/Install;
if test $? -ne 0; then cat CMakeFiles/CMakeError.log; fi
- make -j2 && sudo make install && sudo ctest --output-on-failure
after_success:
- lcov --directory . --capture --output-file coverage.info # capture coverage info
- lcov --remove coverage.info 'tests/*' '/usr/*' --output-file coverage.info # filter out system and test code
- lcov --list coverage.info # debug before upload
- coveralls-lcov --repo-token orrZO32nywoXo9Y70QEcCJ3M8v00QVOaC coverage.info # uploads to coveralls