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-iset-feldman
34   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-iset-michael-michael
35   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-iset-michael-lazy
36   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-iset-michael-iterable
37   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-iset-skip
38   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-iset-split-michael
39   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-iset-split-lazy
40   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-iset-split-iterable
41   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-set
42   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-striped-set
43   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-stack
44   - BUILD_TYPE=Release C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-tree
45
46 ##   BUILD_TYPE=Debug CXX_COMPILER=g++-6
47   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-deque
48   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-ilist
49   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-list
50   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-map
51   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-misc
52   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-pqueue
53   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-queue
54   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-iset
55   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-set
56   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-striped-set
57   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-stack
58   - BUILD_TYPE=Debug C_COMPILER=gcc-6 CXX_COMPILER=g++-6 TARGET=unit-tree
59
60 ##   BUILD_TYPE=Release CXX_COMPILER=clang-5.0
61   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-deque
62   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-ilist
63   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-list
64   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-misc LINKER_FLAGS=-latomic
65   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-pqueue
66   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-queue
67 #  - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set
68   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-feldman
69   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-michael-michael
70   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-michael-iterable
71   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-michael-lazy
72   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-skip
73   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-split-iterable
74   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-split-michael
75   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set-split-lazy
76   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-striped-set
77   - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-stack
78 # FIXME: building too long. Travis-ci will stop building.
79 #  - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-map
80 #  - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-iset
81 #  - BUILD_TYPE=Release C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-tree
82
83
84 ##   BUILD_TYPE=Debug CXX_COMPILER=clang-5.0
85   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-deque
86   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-ilist
87   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-list
88   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-map
89   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-misc LINKER_FLAGS=-latomic
90   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-pqueue
91   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-queue
92   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-iset
93   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-set
94   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-striped-set
95   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-stack
96   - BUILD_TYPE=Debug C_COMPILER=clang-5.0 CXX_COMPILER=clang++-5.0 TARGET=unit-tree
97
98
99 addons:
100   apt:
101     sources:
102       - ubuntu-toolchain-r-test
103       - llvm-toolchain-trusty-5.0
104     packages:
105       - libboost-all-dev
106       - clang-5.0
107       - g++-6
108
109 #matrix:
110 #  include:
111 #    - os: osx
112 #      osx_image: xcode8
113 #      env: BUILD_TYPE=Debug
114 #    - os: osx
115 #      osx_image: xcode8.2
116 #      env: BUILD_TYPE=Debug
117 #    - os: osx
118 #      osx_image: xcode8
119 #      env: BUILD_TYPE=Release
120 #    - os: osx
121 #      osx_image: xcode8.2
122 #      env: BUILD_TYPE=Release