From c1459117671196a14565fbc903ef4b39cc298f6d Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Mon, 23 Apr 2018 21:59:28 -0700 Subject: [PATCH] Travis: add iOS build Disable most warnings for iOS test build as otherwise the Travis log file will exceed 4MB and the build will fail. Signed-off-by: Dirk Hohndel --- scripts/ios/after_success.sh | 3 +++ scripts/ios/before_install.sh | 43 +++++++++++++++++++++++++++++++++++ scripts/ios/travisbuild.sh | 25 ++++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 scripts/ios/after_success.sh create mode 100644 scripts/ios/before_install.sh create mode 100644 scripts/ios/travisbuild.sh diff --git a/scripts/ios/after_success.sh b/scripts/ios/after_success.sh new file mode 100644 index 000000000..834bfb2f8 --- /dev/null +++ b/scripts/ios/after_success.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +echo "Nothing to be done after build" diff --git a/scripts/ios/before_install.sh b/scripts/ios/before_install.sh new file mode 100644 index 000000000..51348796d --- /dev/null +++ b/scripts/ios/before_install.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +set -x +set -e + +# try to get rid of the insane debug crap +unalias -a +unset -f rvm_debug +unset -f cd +unset -f pushd +unset -f popd + +# Travis only pulls shallow repos. But that messes with git describe. +# Sorry Travis, fetching the whole thing and the tags as well... +git fetch --unshallow +git pull --tags +git describe + +git submodule init +git submodule update --recursive + +pushd libdivecomputer +autoreconf --install +autoreconf --install +popd + +# prep things so we can build for iOS +# we have a custom built Qt some gives us just what we need + +pushd ${TRAVIS_BUILD_DIR}/.. + +echo "Get custom Qt build and unpack it" +curl --output ./Qt5.10.1-iOS.tar.xz \ + https://storage.googleapis.com/travis-cache/Qt5.10.1-iOS.tar.xz +tar xJf Qt5.10.1-iOS.tar.xz + +# our scripts assume that there are two convenience links - arguably this +# should be fixed in the scripts, but... +ln -s Qt5.10.1 Qt +cd subsurface/packaging/ios +ln -s ${TRAVIS_BUILD_DIR}/../Qt Qt + +popd diff --git a/scripts/ios/travisbuild.sh b/scripts/ios/travisbuild.sh new file mode 100644 index 000000000..960c36b18 --- /dev/null +++ b/scripts/ios/travisbuild.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +set -x +set -e + +# this gets executed by Travis when building for iOS +# it gets started from inside the subsurface directory + +GITVERSION=$(git describe --abbrev=12 | sed -e 's/-g.*$// ; s/^v//') +VERSION=$(echo $GITVERSION | sed -e 's/-/./') + +echo "preparing dependencies for Subsurface-mobile ${VERSION} for iOS" + +cd packaging/ios +bash -x build.sh + +echo "now it's time to build Subsurface-mobile ${VERSION} for iOS" + +cd build-Subsurface-mobile-*for_iOS-Release + +sed -i.bak 's/-Wall/-Wno-everything/' Makefile + +make -j4 + +# we don't even attempt to create an ipa on Travis