ext-cryptopp/.travis.yml
Jeffrey Walton 9c9e69119f Remove -march=native as default in Makefile and CMake (PR #465)
Remove -march=native as default in Makefile and CMake (PR #465)
2017-08-23 16:13:20 -04:00

120 lines
2.6 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"
- BUILD_MODE="cmake"
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
elif [[ "$BUILD_MODE" == "ios-arm64" ]]; then
cp ./TestScripts/setenv-ios.sh .
. ./setenv-ios.sh arm64
make -f GNUmakefile-cross
elif [[ "$BUILD_MODE" == "ios-watch" ]]; then
cp ./TestScripts/setenv-ios.sh .
. ./setenv-ios.sh watch
make -f GNUmakefile-cross
elif [[ "$BUILD_MODE" == "ios-tv" ]]; then
cp ./TestScripts/setenv-ios.sh .
. ./setenv-ios.sh tv
make -f GNUmakefile-cross
elif [[ "$BUILD_MODE" == "debug" ]]; then
CXXFLAGS="-DDEBUG -g2 -O1" make
./cryptest.exe v
./cryptest.exe tv all
elif [[ "$BUILD_MODE" == "cmake" ]]; then
CRYPTOPP_DIR=$(pwd)
mkdir cryptopp-build
cd cryptopp-build
cmake $CRYPTOPP_DIR
make -j 4 VERBOSE=1
./cryptest.exe v
./cryptest.exe tv all
else
make "$BUILD_MODE"
./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