Modified travis script
[libcds.git] / .travis.yml
1 dist: trusty
2 language: cpp
3
4 dist: trusty
5 before_install:
6   - sudo apt-get -qq update
7   - sudo apt-get install -y libgtest-dev
8   - sudo wget https://github.com/google/googletest/archive/release-1.7.0.tar.gz
9   - sudo tar xf release-1.7.0.tar.gz
10   - cd googletest-release-1.7.0
11   - sudo cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_C_COMPILER=$C_COMPILER -DCMAKE_CXX_COMPILER=$CXX_COMPILER .
12   - sudo make
13   - sudo cp -a include/gtest /usr/include
14   - sudo cp -a libgtest_main.so libgtest.so /usr/lib/
15   - cd "${TRAVIS_BUILD_DIR}"
16
17 script:
18   - mkdir build-test && cd build-test
19   - cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_C_COMPILER=$C_COMPILER -DCMAKE_CXX_COMPILER=$CXX_COMPILER -DCMAKE_EXE_LINKER_FLAGS=$LINKER_FLAGS -DWITH_TESTS=ON ..
20   - cmake --build . -- -j$(nproc --all) $TARGET
21   - ctest -R $TARGET
22
23 env:
24 ##   BUILD_TYPE=Release CXX_COMPILER=g++-6
25   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-deque
26   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-ilist
27   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-list
28   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-map
29   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-misc
30   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-pqueue
31   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-queue
32   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-iset
33   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-set
34   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-striped-set
35   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-stack
36   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-tree
37
38 ##   BUILD_TYPE=Debug CXX_COMPILER=g++-6
39   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-deque
40   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-ilist
41   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-list
42   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-map
43   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-misc
44   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-pqueue
45   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-queue
46   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-iset
47   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-set
48   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-striped-set
49   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-stack
50   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-tree
51
52 ##   BUILD_TYPE=Release CXX_COMPILER=clang-5.0
53   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-deque
54   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-ilist
55   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-list
56   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-misc LINKER_FLAGS=-latomic
57   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-pqueue
58   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-queue
59 #  - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set
60   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-feldman
61   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-michael
62   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-michael-iterable
63   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-michael-lazy
64   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-skip
65   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-split-iterable
66   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-split-michael
67   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-split-lazy
68   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-striped-set
69   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-stack
70 # FIXME: building too long. Travis-ci will stop building.
71 #  - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-map
72 #  - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-iset
73 #  - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-tree
74
75
76 ##   BUILD_TYPE=Debug CXX_COMPILER=clang-5.0
77   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-deque
78   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-ilist
79   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-list
80   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-map
81   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-misc LINKER_FLAGS=-latomic
82   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-pqueue
83   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-queue
84   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-iset
85   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set
86   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-striped-set
87   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-stack
88   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-tree
89
90
91 addons:
92   apt:
93     sources:
94       - ubuntu-toolchain-r-test
95       - llvm-toolchain-trusty-5.0
96     packages:
97       - libboost-all-dev
98       - clang-5.0
99       - g++-6
100
101 #matrix:
102 #  include:
103 #    - os: osx
104 #      osx_image: xcode8
105 #      env: BUILD_TYPE=Debug
106 #    - os: osx
107 #      osx_image: xcode8.2
108 #      env: BUILD_TYPE=Debug
109 #    - os: osx
110 #      osx_image: xcode8
111 #      env: BUILD_TYPE=Release
112 #    - os: osx
113 #      osx_image: xcode8.2
114 #      env: BUILD_TYPE=Release