diff --git a/.travis.yml b/.travis.yml index 6906b3068..1b565726d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,10 @@ language: cpp dist: trusty -sudo: required +sudo: false cache: ccache before_install: -- eval "${MATRIX_EVAL}" +- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then eval "${MATRIX_EVAL}"; fi +- PATH=$PATH:$HOME/bin - ${CXX} --version install: travis/install_deps.sh script: travis/compile.sh @@ -23,3 +24,20 @@ addons: - ubuntu-toolchain-r-test packages: - g++-5 + - cmake + - python3-pip + - libbz2-dev + - ccache + - zlib1g-dev + - uuid-dev + - libctpp2-dev + - ctpp2-utils + - libmicrohttpd-dev + - g++-mingw-w64-i686 + - gcc-mingw-w64-i686 + - gcc-mingw-w64-base + - mingw-w64-tools +matrix: + include: + - env: PLATFORM="native_dyn" + os: osx diff --git a/travis/compile.sh b/travis/compile.sh index 2d8330a07..40aea11db 100755 --- a/travis/compile.sh +++ b/travis/compile.sh @@ -29,7 +29,12 @@ case ${PLATFORM} in esac cd ${TRAVIS_BUILD_DIR} -export PKG_CONFIG_PATH=${INSTALL_DIR}/lib/x86_64-linux-gnu/pkgconfig +if [[ "${TRAVIS_OS_NAME}" == "osx" ]] +then + export PKG_CONFIG_PATH=${INSTALL_DIR}/lib/pkgconfig +else + export PKG_CONFIG_PATH=${INSTALL_DIR}/lib/x86_64-linux-gnu/pkgconfig +fi meson . build -Dctpp2-install-prefix=${INSTALL_DIR} ${MESON_OPTION} cd build ninja diff --git a/travis/install_deps.sh b/travis/install_deps.sh index 326e1ab2b..66b2c7a3d 100755 --- a/travis/install_deps.sh +++ b/travis/install_deps.sh @@ -3,41 +3,27 @@ set -e REPO_NAME=${TRAVIS_REPO_SLUG#*/} -ARCHIVE_NAME=deps_${PLATFORM}_${REPO_NAME}.tar.gz - -# Packages. -case ${PLATFORM} in - "native_static") - PACKAGES="gcc cmake libbz2-dev ccache zlib1g-dev uuid-dev libctpp2-dev ctpp2-utils" - ;; - "native_dyn") - PACKAGES="gcc cmake libbz2-dev ccache zlib1g-dev uuid-dev libctpp2-dev ctpp2-utils libmicrohttpd-dev" - ;; - "win32_static") - PACKAGES="g++-mingw-w64-i686 gcc-mingw-w64-i686 gcc-mingw-w64-base mingw-w64-tools ccache ctpp2-utils" - ;; - "win32_dyn") - PACKAGES="g++-mingw-w64-i686 gcc-mingw-w64-i686 gcc-mingw-w64-base mingw-w64-tools ccache ctpp2-utils" - ;; - "android_arm") - PACKAGES="gcc cmake ccache ctpp2-utils" - ;; - "android_arm64") - PACKAGES="gcc cmake ccache ctpp2-utils" - ;; -esac - -sudo apt-get update -qq -sudo apt-get install -qq python3-pip ${PACKAGES} -sudo pip3 install meson==0.43.0 +ARCHIVE_NAME=deps_${TRAVIS_OS_NAME}_${PLATFORM}_${REPO_NAME}.tar.gz # Ninja cd $HOME -git clone git://github.com/ninja-build/ninja.git -cd ninja -git checkout release -./configure.py --bootstrap -sudo cp ninja /bin +if [[ "$TRAVIS_OS_NAME" == "osx" ]] +then + brew update + brew upgrade python3 + pip3 install meson==0.43.0 + + wget https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-mac.zip + unzip ninja-mac.zip ninja +else + pip3 install --user meson==0.43.0 + + wget https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip + unzip ninja-linux.zip ninja +fi + +mkdir -p $HOME/bin +cp ninja $HOME/bin # Dependencies comming from kiwix-build. cd ${HOME}