blob: 5e1b926a6d8b44b9526438c39644dc0113cd5338 (
plain) (
blame)
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
|
dist: xenial
language: cpp
addons:
apt:
sources:
- sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main'
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
packages:
- ninja-build
# TODO: These should really be the snapshots packages, but they are currently
# broken. Remove the version suffix once they get fixed (see issue #642 for
# more info)
- llvm-9-dev
- llvm-9-tools
- libclang-9-dev
- clang-9
before_install:
# Install a supported cmake version (>= 3.4.3)
- wget -O cmake.sh https://cmake.org/files/v3.10/cmake-3.10.0-Linux-x86_64.sh
- sudo sh cmake.sh --skip-license --exclude-subdir --prefix=/usr/local
# Extract the version number from the most-recently installed LLVM
- VERSION=`ls -t /usr/lib/ | grep '^llvm-' | head -n 1 | sed -E 's/llvm-(.+)/\1/'`
# Absolute paths to LLVM's root and bin directory
- ROOT_PATH=`llvm-config-$VERSION --prefix`
- BIN_PATH=`llvm-config-$VERSION --bindir`
# TODO: Remove these hacky fixups
- (cd $ROOT_PATH/lib && sudo ln -rsf libclang-cpp.so.1 libclang-cpp-$VERSION.so.1)
script:
# Build IWYU
- mkdir build
- cd build
- cmake -GNinja -DCMAKE_PREFIX_PATH=$ROOT_PATH -DCMAKE_C_COMPILER=$BIN_PATH/clang -DCMAKE_CXX_COMPILER=$BIN_PATH/clang++ -DCMAKE_INSTALL_PREFIX=./ ../
- ninja
# Test IWYU
- CTEST_OUTPUT_ON_FAILURE=1 ninja test
# Test install
- ninja install
|