Skip to content

in travis, build for osx also #250

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 25, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 22 additions & 39 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,59 +1,42 @@
# Build matrix / environment variable are explained on:
# Build matrix / environment variables are explained on:
# http://about.travis-ci.org/docs/user/build-configuration/
# This file can be validated on:
# http://lint.travis-ci.org/
# See also
# http://stackoverflow.com/questions/22111549/travis-ci-with-clang-3-4-and-c11/30925448#30925448
# to allow C++11, though we are not yet building with -std=c++11

#before_install: pyenv install 3.5.4 && pyenv global 3.5.4
before_install: pyenv global 3.6
# https://docs.travis-ci.com/user/languages/python/
# "for Trusty, this means 2.7.6 and 3.4.3"
before_install:
- source travis.before_install.${TRAVIS_OS_NAME}.sh
install:
- if [[ $TRAVIS_OS_NAME == osx ]]; then
brew update;
brew install python3 ninja;
python3 -m venv venv;
source venv/bin/activate;
elif [[ $TRAVIS_OS_NAME == linux ]]; then
wget https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-linux.zip;
unzip -q ninja-linux.zip -d build;
fi
- pip3 install meson
# /usr/bin/gcc is 4.6 always, but gcc-X.Y is available.
- if [[ $CXX = g++ ]]; then export CXX="g++-4.9" CC="gcc-4.9"; fi
# /usr/bin/clang has a conflict with gcc, so use clang-X.Y.
- if [[ $CXX = clang++ ]]; then export CXX="clang++-3.5" CC="clang-3.5"; fi
- echo ${PATH}
- ls /usr/local
- ls /usr/local/bin
- export PATH="${PWD}"/build:/usr/local/bin:/usr/bin:${PATH}
- echo ${CXX}
- ${CXX} --version
- which valgrind
- source travis.install.${TRAVIS_OS_NAME}.sh
addons:
apt:
sources:
- ubuntu-toolchain-r-test
#- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.5
packages:
- gcc-4.9
- g++-4.9
#- gcc-4.9
#- g++-4.9
- clang-3.5
- valgrind
os:
- linux
language: cpp
compiler:
- gcc
- clang
script: ./travis.sh
env:
matrix:
- LIB_TYPE=static BUILD_TYPE=release
- LIB_TYPE=shared BUILD_TYPE=debug
matrix:
allow_failures:
- os: osx
matrix:
include:
- os: osx
osx_image: xcode9.4
compiler: clang
#env: PYENV_ROOT=/usr/local/var/pyenv
env: LIB_TYPE=static BUILD_TYPE=release
#- LIB_TYPE=shared BUILD_TYPE=debug
- os: linux
dist: trusty
compiler: clang
env: LIB_TYPE=static BUILD_TYPE=release
notifications:
email: false
dist: trusty
sudo: false
7 changes: 7 additions & 0 deletions travis.before_install.linux.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
set -vex
#before_install: pyenv install 3.5.4 && pyenv global 3.5.4
#before_install: pyenv global 3.6
# https://docs.travis-ci.com/user/languages/python/
# "for Trusty, this means 2.7.6 and 3.4.3"

pyenv global 3.6
3 changes: 3 additions & 0 deletions travis.before_install.osx.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
set -vex
#brew install pyenv
#which pyenv
14 changes: 14 additions & 0 deletions travis.install.linux.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
set -vex

wget https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-linux.zip
unzip -q ninja-linux.zip -d build

pip3 install meson
# /usr/bin/gcc is 4.6 always, but gcc-X.Y is available.
if [[ $CXX = g++ ]]; then export CXX="g++-4.9" CC="gcc-4.9"; fi
# /usr/bin/clang has a conflict with gcc, so use clang-X.Y.
if [[ $CXX = clang++ ]]; then export CXX="clang++-3.5" CC="clang-3.5"; fi
echo ${PATH}
ls /usr/local
ls /usr/local/bin
export PATH="${PWD}"/build:/usr/local/bin:/usr/bin:${PATH}
12 changes: 12 additions & 0 deletions travis.install.osx.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
set -vex

#brew update
brew upgrade python3
python3 -m venv venv
source venv/bin/activate

brew install ninja
brew install meson

#brew install pyenv
#which pyenv
3 changes: 3 additions & 0 deletions travis.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ set -vex

env | sort

echo ${CXX}
${CXX} --version
python3 --version
meson --version
ninja --version
meson --buildtype ${BUILD_TYPE} --default-library ${LIB_TYPE} . build-${LIB_TYPE}
Expand Down