Files
qcma/buildscripts/build_macos.sh
2016-11-20 20:38:20 -04:00

74 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
set -eu
show_usage() {
echo -e "Usage: $0 <host> <branch> [config]"
}
if [ $# -lt 1 ]
then
show_usage
exit 1
fi
SERVER_HOST=$1
BRANCH=$2
QT_VERSION=5.7
QT_REVISION=${QT_VERSION}.0
QCMA_SOURCES=~/projects/qcma
VERSION=$(git -C "${QCMA_SOURCES}" describe --tags --abbrev=8)
VERSION=${VERSION#v*}
if [ $# -ge 3 ]; then
CONFIG=$3
else
CONFIG=
fi
case "$CONFIG" in
*DISABLE_FFMPEG*)
BUILD_MODE=_noffmpeg
;;
*)
BUILD_MODE=
;;
esac
git -C "${QCMA_SOURCES}" bundle create qcma.bundle --all
scp "${QCMA_SOURCES}/qcma.bundle" $SERVER_HOST:qcma.bundle
ssh -T "${SERVER_HOST}" << EOSSH
#!/bin/bash
set -eu
QCMA_DIR="\$HOME/qcma"
rm -rf "\${QCMA_DIR}"
git clone -b ${BRANCH} qcma.bundle "\${QCMA_DIR}"
rm -rf qcma_build
mkdir qcma_build
pushd qcma_build
PATH=~/Qt${QT_REVISION}/${QT_VERSION}/clang_64/bin:/usr/local/bin:\$PATH
lrelease "\${QCMA_DIR}/qcma.pro"
qmake "\${QCMA_DIR}/qcma.pro" $CONFIG
make -j2
popd
rm -rf \${HOME}/qcma_output
mkdir \${HOME}/qcma_output
mv qcma_build/gui/qcma.app \${HOME}/qcma_output/Qcma.app
cp \${QCMA_DIR}/buildscripts/macos/* \${HOME}/qcma_output/
pushd \${HOME}/qcma_output/
macdeployqt Qcma.app -appstore-compliant
appdmg appdmg.json Qcma_${VERSION}${BUILD_MODE}.dmg
echo "Created Qcma_${VERSION}${BUILD_MODE}.dmg"
popd
EOSSH
scp ${SERVER_HOST}:qcma_output/Qcma_${VERSION}${BUILD_MODE}.dmg .