ext-cryptopp/.travis.yml
Jeffrey Walton f3c04dbcb7
Remove CMake testing support (GH #506)
CMake can now be found at http://www.cryptopp.com/wiki/CMake. The Cmake project files are now maintianed by the community.
2017-09-16 21:23:35 -04:00

111 lines
2.5 KiB
YAML

language: cpp
os:
- linux
- osx
dist: trusty
sudo: false
# OS X only supports one image. Use the latest.
osx_image: xcode8.2
git:
depth: 3
compiler:
- clang
- gcc
env:
global:
- BUILD_JOBS=2
matrix:
- BUILD_MODE="all"
- BUILD_MODE="native"
- BUILD_MODE="no-asm"
- BUILD_MODE="debug"
- BUILD_MODE="asan"
- BUILD_MODE="ubsan"
- BUILD_MODE="ios-arm"
- BUILD_MODE="ios-arm64"
- BUILD_MODE="ios-watch"
- BUILD_MODE="ios-tv"
matrix:
exclude:
# Skip GCC on OS X entirely
- os: osx
compiler: gcc
# Skip UBsan due to GCC 4.8
- os: linux
compiler: gcc
env: BUILD_MODE="ubsan"
# Skip UBsan due to Clang 3.4
- os: osx
compiler: clang
env: BUILD_MODE="ubsan"
# No iOS builds on Linux
- os: linux
env: BUILD_MODE="ios-arm"
- os: linux
env: BUILD_MODE="ios-arm64"
- os: linux
env: BUILD_MODE="ios-watch"
- os: linux
env: BUILD_MODE="ios-tv"
allow_failures:
- os: osx
env: BUILD_MODE="ios-watch"
script:
- |
if [[ "$BUILD_MODE" == "ios-arm" ]]; then
cp ./TestScripts/setenv-ios.sh .
. ./setenv-ios.sh arm
make -f GNUmakefile-cross -j "$BUILD_JOBS"
elif [[ "$BUILD_MODE" == "ios-arm64" ]]; then
cp ./TestScripts/setenv-ios.sh .
. ./setenv-ios.sh arm64 -j "$BUILD_JOBS"
make -f GNUmakefile-cross
elif [[ "$BUILD_MODE" == "ios-watch" ]]; then
cp ./TestScripts/setenv-ios.sh .
. ./setenv-ios.sh watch
make -f GNUmakefile-cross -j "$BUILD_JOBS"
elif [[ "$BUILD_MODE" == "ios-tv" ]]; then
cp ./TestScripts/setenv-ios.sh .
. ./setenv-ios.sh tv
make -f GNUmakefile-cross -j "$BUILD_JOBS"
elif [[ "$BUILD_MODE" == "debug" ]]; then
CXXFLAGS="-DDEBUG -g2 -O1" make -j "$BUILD_JOBS"
./cryptest.exe v
./cryptest.exe tv all
else
make "$BUILD_MODE" -j "$BUILD_JOBS"
./cryptest.exe v
./cryptest.exe tv all
fi
# whitelist branches to avoid testing feature branches twice
branches:
only:
- master
addons:
sonarcloud: true
coverity_scan:
project:
name: "cryptopp"
build_command: "make -j 2"
notifications:
email:
recipients:
- cryptopp-build@googlegroups.com
on_success: always # default: change
on_failure: always # default: always