2019-05-01 18:20:05 +03:00
|
|
|
#!/usr/bin/env bash
|
2018-01-13 15:59:48 +03:00
|
|
|
|
2019-05-01 18:59:10 +03:00
|
|
|
set -ex
|
2018-01-13 15:59:48 +03:00
|
|
|
|
2020-02-14 02:32:08 +03:00
|
|
|
if [ "$FLATPAK" ]; then
|
|
|
|
mkdir -p build-flatpak
|
|
|
|
cd build-flatpak
|
|
|
|
|
2020-06-06 01:04:18 +03:00
|
|
|
jobsarg=""
|
|
|
|
if [ "$ARCH" = "arm64" ]; then
|
|
|
|
jobsarg="--jobs=2"
|
|
|
|
fi
|
|
|
|
|
|
|
|
flatpak-builder --ccache --repo=repo --subject="Build of Nheko ${VERSION} $jobsarg `date`" app ../io.github.NhekoReborn.Nheko.json &
|
2020-05-30 20:01:32 +03:00
|
|
|
|
|
|
|
# to prevent flatpak builder from timing out on arm, run it in the background and print something every minute for up to 30 minutes.
|
|
|
|
minutes=0
|
2020-05-31 12:39:39 +03:00
|
|
|
limit=40
|
2020-05-30 20:01:32 +03:00
|
|
|
while kill -0 $! >/dev/null 2>&1; do
|
|
|
|
if [ $minutes == $limit ]; then
|
|
|
|
break;
|
|
|
|
fi
|
|
|
|
|
|
|
|
minutes=$((minutes+1))
|
|
|
|
|
|
|
|
sleep 60
|
|
|
|
done
|
|
|
|
|
2020-04-19 23:52:11 +03:00
|
|
|
flatpak build-bundle repo nheko-${VERSION}-${ARCH}.flatpak io.github.NhekoReborn.Nheko master
|
2020-02-14 02:32:08 +03:00
|
|
|
|
|
|
|
mkdir ../artifacts
|
|
|
|
mv nheko-*.flatpak ../artifacts
|
|
|
|
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
|
2019-04-24 02:55:05 +03:00
|
|
|
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
2019-05-13 05:44:17 +03:00
|
|
|
# make build use all available cores
|
|
|
|
export CMAKE_BUILD_PARALLEL_LEVEL=$(cat /proc/cpuinfo | awk '/^processor/{print $3}' | wc -l)
|
2018-09-05 01:10:24 +03:00
|
|
|
|
2019-12-03 20:04:53 +03:00
|
|
|
export PATH="/usr/local/bin/:${PATH}"
|
|
|
|
cmake --version
|
2018-09-05 01:10:24 +03:00
|
|
|
fi
|
|
|
|
|
2019-04-24 02:55:05 +03:00
|
|
|
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
|
|
|
# shellcheck disable=SC1090
|
|
|
|
. "/opt/qt${QT_PKG}/bin/qt${QT_PKG}-env.sh" || true;
|
2019-02-25 02:23:08 +03:00
|
|
|
fi
|
|
|
|
|
2019-04-24 02:55:05 +03:00
|
|
|
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
2018-01-13 23:53:08 +03:00
|
|
|
export CMAKE_PREFIX_PATH=/usr/local/opt/qt5
|
|
|
|
fi
|
|
|
|
|
2020-01-24 20:09:11 +03:00
|
|
|
mkdir -p .deps/usr .hunter
|
2018-06-04 16:07:47 +03:00
|
|
|
|
|
|
|
# Build nheko
|
2020-01-24 20:09:11 +03:00
|
|
|
|
|
|
|
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
|
|
|
cmake -GNinja -H. -Bbuild \
|
|
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
|
|
|
-DCMAKE_INSTALL_PREFIX=.deps/usr \
|
|
|
|
-DHUNTER_ROOT=".hunter" \
|
|
|
|
-DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF \
|
|
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo -DHUNTER_CONFIGURATION_TYPES=RelWithDebInfo \
|
2020-01-25 02:30:01 +03:00
|
|
|
-DCMAKE_PREFIX_PATH=/usr/local/opt/qt5 \
|
|
|
|
-DCI_BUILD=ON
|
2020-01-24 20:09:11 +03:00
|
|
|
else
|
2018-07-04 01:38:54 +03:00
|
|
|
cmake -GNinja -H. -Bbuild \
|
|
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
2019-12-03 20:31:18 +03:00
|
|
|
-DCMAKE_INSTALL_PREFIX=.deps/usr \
|
2020-01-24 20:09:11 +03:00
|
|
|
-DHUNTER_ROOT=".hunter" \
|
|
|
|
-DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF \
|
|
|
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo -DHUNTER_CONFIGURATION_TYPES=RelWithDebInfo \
|
2020-01-25 02:30:01 +03:00
|
|
|
-DUSE_BUNDLED_OPENSSL=OFF \
|
|
|
|
-DCI_BUILD=ON
|
2020-01-24 20:09:11 +03:00
|
|
|
fi
|
2018-06-04 16:07:47 +03:00
|
|
|
cmake --build build
|
2018-01-13 15:59:48 +03:00
|
|
|
|
2019-04-24 02:55:05 +03:00
|
|
|
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
2018-01-13 15:59:48 +03:00
|
|
|
make lint;
|
|
|
|
|
2019-08-05 01:47:21 +03:00
|
|
|
if [ "$DEPLOYMENT" = 1 ] && [ -n "$VERSION" ] ; then
|
2018-01-13 15:59:48 +03:00
|
|
|
make macos-deploy;
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2019-08-05 01:47:21 +03:00
|
|
|
if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$DEPLOYMENT" = 1 ] && [ -n "$VERSION" ]; then
|
2018-01-13 15:59:48 +03:00
|
|
|
make linux-deploy;
|
|
|
|
fi
|