mirror of
https://github.com/grumpycoders/pcsx-redux.git
synced 2025-04-02 10:41:54 -04:00
88 lines
2.6 KiB
YAML
88 lines
2.6 KiB
YAML
dist: xenial
|
|
language: cpp
|
|
|
|
cache:
|
|
- ccache: true
|
|
|
|
os:
|
|
- linux
|
|
- osx
|
|
- windows
|
|
|
|
compiler:
|
|
- gcc
|
|
- clang
|
|
- msvc
|
|
|
|
env:
|
|
- EASTL_CONFIG=Debug
|
|
- EASTL_CONFIG=Release
|
|
|
|
addons:
|
|
apt:
|
|
update: true
|
|
sources:
|
|
- george-edison55-precise-backports
|
|
- sourceline: 'ppa:ubuntu-toolchain-r/test'
|
|
- sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main'
|
|
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
|
|
packages:
|
|
- cmake
|
|
- cmake-data
|
|
- g++-9
|
|
- clang-11
|
|
|
|
matrix:
|
|
include:
|
|
- compiler: clang "release build with clang to trigger MOJI check"
|
|
env: EASTL_CONFIG=Release USE_MOJI_CHECK=yes
|
|
os: linux
|
|
- compiler: msvc
|
|
env: EASTL_CONFIG=Release CXXFLAGS="/std:c++latest /Zc:char8_t"
|
|
os: windows
|
|
|
|
exclude:
|
|
- os: osx
|
|
compiler: gcc
|
|
- os: osx
|
|
compiler: msvc
|
|
- os: linux
|
|
compiler: msvc
|
|
- os: windows
|
|
compiler: clang
|
|
- os: windows
|
|
compiler: gcc
|
|
|
|
# Handle git submodules yourself
|
|
git:
|
|
submodules: false
|
|
|
|
before_install:
|
|
- git submodule update --init
|
|
- if [[ "$CXX" == "g++" ]]; then export CC="gcc-9" ;fi
|
|
- if [[ "$CXX" == "g++" ]]; then export CXX="g++-9" ;fi
|
|
- if [[ "$CXX" == "clang++" && "${TRAVIS_OS_NAME}" != "osx" ]]; then export CC="clang-11" ;fi
|
|
- if [[ "$CXX" == "clang++" && "${TRAVIS_OS_NAME}" != "osx" ]]; then export CXX="clang++-11" ;fi
|
|
- if [[ "$CXX" == "g++-9" && "${TRAVIS_OS_NAME}" != "windows" ]]; then g++-9 -v ;fi
|
|
- if [[ "$CXX" == "clang++-11" && "${TRAVIS_OS_NAME}" != "windows" ]]; then clang++-11 -v ;fi
|
|
|
|
install:
|
|
# MOJI check; exit 1 if non-ascii characters detected in C++
|
|
- if [[ -n "$USE_MOJI_CHECK" && -n `git grep -P "[^[:ascii:]]" source test` ]]; then echo "Moji Detected" && exit 1 ;fi
|
|
- if [[ -n "$USE_MOJI_CHECK" ]]; then exit 0 ;fi
|
|
|
|
before_script:
|
|
- mkdir build_$EASTL_CONFIG
|
|
- cd build_$EASTL_CONFIG
|
|
- cmake .. -DEASTL_BUILD_BENCHMARK:BOOL=ON -DEASTL_BUILD_TESTS:BOOL=ON
|
|
- cmake --build . --config $EASTL_CONFIG
|
|
|
|
script:
|
|
# Run Tests
|
|
- cd $TRAVIS_BUILD_DIR/build_$EASTL_CONFIG/test
|
|
- ctest -C $EASTL_CONFIG -V || exit 1
|
|
|
|
# Run Benchmarks
|
|
- cd $TRAVIS_BUILD_DIR/build_$EASTL_CONFIG/benchmark
|
|
- ctest -C $EASTL_CONFIG -V || exit 1
|
|
|