forked from VirgilSecurity/virgil-crypto
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
80 lines (79 loc) · 2.57 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
74
75
76
77
78
79
language: cpp
matrix:
include:
- os: linux
compiler: gcc
env: LANG=cpp ALT_CC=gcc ALT_CXX=g++ PUBLISH_DOCS=ON
sudo: required
dist: trusty
- os: linux
compiler: gcc
env: LANG=cpp ALT_CC=gcc-5 ALT_CXX=g++-5
sudo: required
dist: trusty
- os: linux
compiler: gcc
env: LANG=cpp ALT_CC=gcc-6 ALT_CXX=g++-6
sudo: required
dist: trusty
- os: linux
compiler: clang
env: LANG=cpp ALT_CC=clang-3.6 ALT_CXX=clang++-3.6
sudo: required
dist: trusty
- os: linux
compiler: gcc
env: LANG=php LANG_VERSION=5.6
sudo: required
dist: trusty
- os: linux
compiler: gcc
env: LANG=php LANG_VERSION=7.0
sudo: required
dist: trusty
- os: linux
compiler: gcc
env: LANG=php LANG_VERSION=7.1
sudo: required
dist: trusty
env:
global:
- VIRGIL_CRYPTO_FEATURE_LOW_LEVEL_WRAP=ON
- VIRGIL_CRYPTO_FEATURE_PYTHIA=ON
- PROJECT_ROOT=${TRAVIS_BUILD_DIR}
- CMAKE_VERSION=3.10.2
- SWIG_VERSION=3.0.12
cache:
directories:
- cmake-${CMAKE_VERSION}
- swig-${SWIG_VERSION}
before_install:
- date -u
- uname -a
- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then lscpu; fi
# Travis overrides CC environment with compiler predefined values
- if [ -n "${ALT_CC}" ]; then export CC="${ALT_CC}"; fi
- if [ -n "${ALT_CXX}" ]; then export CXX="${ALT_CXX}"; fi
- if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then source "${PROJECT_ROOT}/ci/install-deployment-key.sh"; fi
install:
# Use clean dependencies installation to avoid versions collision.
- export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then source "${PROJECT_ROOT}/ci/install-dependencies.sh"; fi
- ${CC} --version
- ${CXX} --version
- cmake --version
- swig -version
- doxygen --version
before_script:
- CMAKE_ARGS="-DLANG=${LANG} -DPLATFORM_ARCH=`uname -m`"
- CMAKE_ARGS+=" -DVIRGIL_CRYPTO_FEATURE_LOW_LEVEL_WRAP=${VIRGIL_CRYPTO_FEATURE_LOW_LEVEL_WRAP}"
- CMAKE_ARGS+=" -DVIRGIL_CRYPTO_FEATURE_PYTHIA=${VIRGIL_CRYPTO_FEATURE_PYTHIA}"
- CMAKE_ARGS+=" -DCMAKE_INSTALL_PREFIX=${PROJECT_ROOT}/install"
- CMAKE_ARGS+=" -DLANG_VERSION=${LANG_VERSION}"
- if [ "${LANG}" = "cpp" ]; then CMAKE_ARGS+=" -DVIRGIL_CRYPTO_FEATURE_STREAM_IMPL=ON"; fi
- cmake -H"${PROJECT_ROOT}" -B"${PROJECT_ROOT}/build" ${CMAKE_ARGS}
script:
- cmake --build "${PROJECT_ROOT}/build" -- -j4
- cd "${PROJECT_ROOT}/build" && ctest --verbose && cd -
after_success:
- source "${PROJECT_ROOT}/ci/publish-docs.sh"