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