forked from PRUNERS/archer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
73 lines (68 loc) · 2.45 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
sudo: required
language: cpp
dist: xenial
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-5
- g++-5
env:
global:
- UBUNTU_VERSION=16.04
- CMAKE_VERSION_MAJOR=v3.11
- CMAKE_VERSION=3.11.0
- NINJA_VERSION=v1.7.2
- LLVM_VERSION=6.0.1
- LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
- LLVM_BRANCH=6.0.1
- export PATH=$HOME/usr/bin:$PATH
- export LD_LIBRARY_PATH=$HOME/usr/lib:$LD_LIBRARY_PATH
before_install:
- sudo pip install --upgrade pip
- sudo pip install lit
install:
- cd $HOME/build
# Install LLVM/Clang 6.0
- wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-$UBUNTU_VERSION.tar.xz -O $LLVM_ARCHIVE_PATH
- mkdir $HOME/usr
- tar xf $LLVM_ARCHIVE_PATH -C $HOME/usr --strip-components 1
# Obtain and install cmake
- wget https://cmake.org/files/$CMAKE_VERSION_MAJOR/cmake-$CMAKE_VERSION-Linux-x86_64.sh
- chmod +x cmake-$CMAKE_VERSION-Linux-x86_64.sh
- ./cmake-$CMAKE_VERSION-Linux-x86_64.sh --prefix=$HOME/usr --exclude-subdir
# Obtain and install ninja
- curl -L https://github.com/ninja-build/ninja/releases/download/$NINJA_VERSION/ninja-linux.zip -o ninja-linux.zip
- unzip ninja-linux.zip -d $HOME/usr/bin
# Install testing tools
- git clone --recursive https://github.com/PRUNERS/TestingTools.git
- cd TestingTools
- mkdir build && cd build
- cmake -G Ninja -D CMAKE_CXX_COMPILER=clang++ -D CMAKE_INSTALL_PREFIX:PATH=$HOME/usr -DCMAKE_CXX_FLAGS="-fno-rtti" ..
- ninja && ninja install
script:
- cd $HOME/build/PRUNERS
- rm -rf openmp
- git clone -b release_60 https://github.com/llvm-mirror/openmp.git
- export OPENMP_INSTALL=$HOME/usr
- cd openmp
- mkdir build && cd build
- cmake -G Ninja -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=$OPENMP_INSTALL ..
- ninja -j4 -l4
- ninja install
- export ARCHER_INSTALL=$HOME/usr
- cd $HOME/build/PRUNERS/archer
- rm -rf build
- mkdir -p build && cd build
- cmake -G Ninja -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++ -D CMAKE_INSTALL_PREFIX:PATH=${ARCHER_INSTALL} -D OMP_PREFIX:PATH=$OPENMP_INSTALL -D ARCHER_LLVM_LIT_EXECUTABLE=$HOME/usr/bin/llvm-lit -D ARCHER_LLVM_TOOLS_DIR=$HOME/usr/bin ..
- ninja -j4 -l4
- ninja install
- ninja check-libarcher
notifications:
email: false
slack:
rooms:
- pruners:aXHVdiVFtqtMfzNW4IutZNDW
on_success: always
on_failure: always