Add OSX build

This commit is contained in:
Berkus Decker 2017-12-28 02:42:44 +02:00 committed by Berkus Decker
parent 8dd7ec667b
commit 9c55a71a5e
4 changed files with 50 additions and 6 deletions

View File

@ -18,10 +18,14 @@ matrix:
env: BUILD_TYPE=Debug
- os: linux
env: BUILD_TYPE=Release
- os: osx
env: BUILD_TYPE=Debug
- os: osx
env: BUILD_TYPE=Release
before_install:
- docker pull berkus/docker-cpp-ci:latest
- .travis/os_setup.sh
script:
- mkdir _build_
- docker run --rm -v $PWD:/repo -v ~/.travis:/travis berkus/docker-cpp-ci /bin/sh -c "/repo/.travis/build.sh"
- .travis/os_build.sh

View File

@ -1,6 +1,8 @@
#!/bin/bash
cd /repo/_build_
cmake -G Ninja -DTRAVIS_CI=YES -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_TESTING=ON .. || exit 1
cmake --build . || exit 1
ASAN_OPTIONS=alloc_dealloc_mismatch=0 ctest || exit 1
set -x
conan install .. --build missing
cmake -G Ninja -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_TESTING=ON .. || exit 1
cmake --build . -- -v || exit 1
ASAN_OPTIONS=alloc_dealloc_mismatch=0 ctest . || exit 1

12
.travis/os_build.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/bash
set -x
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
docker run --rm -v $PWD:/repo -v ~/.travis:/travis berkus/docker-cpp-ci /bin/sh -c "cd /repo/_build_; /repo/.travis/build.sh"
fi
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
cd _build_
../.travis/build.sh
fi

26
.travis/os_setup.sh Executable file
View File

@ -0,0 +1,26 @@
#!/bin/bash
set -x
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
docker pull berkus/docker-cpp-ci:latest || exit 1
fi
brew_package() {
if brew ls --versions $1 > /dev/null; then
brew outdated $1 > /dev/null || brew upgrade $1 || exit 1
else
brew install $1 || exit 1
fi
}
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
brew update
brew_package conan
brew_package cmake
brew_package ninja
brew_package qt
brew_package ffmpeg
brew_package opus
brew_package openal-soft
fi