forked from elemental/Elemental
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
53 lines (43 loc) · 2.01 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
52
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 clang-3.7 gcc-4.9 g++-4.9 gfortran-4.9 libstdc++-4.9-dev
# lcov
- sh travis/install-mpi.sh $MPI
# - sudo pip install cpp-coveralls
- curl https://cmake.org/files/v3.3/cmake-3.3.2-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 -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