-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
65 lines (58 loc) · 2.33 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
language: cpp
compiler: clang
matrix:
include:
- os: osx
osx_image: xcode10.2
env:
- VCPKG_DIR=${TRAVIS_BUILD_DIR}/vcpkg
- CMAKE="cmake"
- CMAKE_SETUP="-DCMAKE_TOOLCHAIN_FILE=${VCPKG_DIR}/scripts/buildsystems/vcpkg.cmake -DQt5_DIR=/usr/local/opt/qt5/lib/cmake/Qt5"
# https://github.com/Microsoft/vcpkg/issues/4437#issuecomment-445600064
- LLVM_PACKAGE=clang+llvm-8.0.0-x86_64-apple-darwin
install:
- wget -qO- http://releases.llvm.org/8.0.0/${LLVM_PACKAGE}.tar.xz | tar xJ
- export LLVM_DIR=${TRAVIS_BUILD_DIR}/${LLVM_PACKAGE}
- export CXX=${LLVM_DIR}/bin/clang++
- export LDFLAGS="-L${LLVM_DIR}/lib -Wl,-rpath,${LLVM_DIR}/lib"
- export CXXFLAGS="-I${LLVM_DIR}/include -I${LLVM_DIR}/include/c++/v1/"
- brew install ninja
# Can't clone into VCPKG_DIR, because it's cached and can be non-empty.
# Also can't mv the git cloned archive: vcpkg/scripts/vcpkgTools.xml goes missing
- mv ${VCPKG_DIR} ${VCPKG_DIR}.cache
- git clone --depth 1 https://github.com/microsoft/vcpkg ${VCPKG_DIR}
- cp -r ${VCPKG_DIR}.cache/* ${VCPKG_DIR}
- ${VCPKG_DIR}/bootstrap-vcpkg.sh
# Release-only problems with boost-thread: https://github.com/microsoft/vcpkg/issues/6717
#- echo "set(VCPKG_BUILD_TYPE release)" >> ${VCPKG_DIR}/triplets/x64-osx.cmake
cache:
directories:
- vcpkg/installed
- vcpkg/toolsrc/build.rel
- os: linux
services: docker
dist: xenial
env:
- DOCKER_BUILD_DIR=${TRAVIS_BUILD_DIR}
- DOCKER_IMAGE=thijswithaar/debian:sid
- CMAKE="docker exec buildimg cmake"
- CMAKE_SETUP=""
install:
- docker run -it -d --user $(id -u):$(id -g) -v ${TRAVIS_BUILD_DIR}:${DOCKER_BUILD_DIR} -w ${DOCKER_BUILD_DIR} --name buildimg ${DOCKER_IMAGE}
script:
- ${CMAKE} ${CMAKE_SETUP} -DCMAKE_BUILD_TYPE=MinSizeRel -H${TRAVIS_BUILD_DIR} -B${TRAVIS_BUILD_DIR}/build
- ${CMAKE} --build ${TRAVIS_BUILD_DIR}/build
- ${CMAKE} --build ${TRAVIS_BUILD_DIR}/build -- package test
deploy:
provider: releases
tag_name: ${TRAVIS_TAG}
target_commitish: "master"
name: "A New Hope"
api_key: ${GithubToken}
file_glob: true
file: "${TRAVIS_BUILD_DIR}/build.packages/*"
overwrite: true
skip_cleanup: true
draft: false
on:
tags: true