#!/usr/bin/env bash # Copyright 2019-2024 The Hush Developers # Released under the GPLv3 UNAME=$(uname) # check if rustc and cargo are installed, otherwise exit with error if ! command -v rustc &> /dev/null then echo "rustc could not be found. Please install it and try again." exit 1 fi if ! command -v cargo &> /dev/null then echo "cargo could not be found. Please install it and try again." exit 1 fi if ! command -v qmake &> /dev/null then echo "qmake could not be found. Please install QT and try again." exit 1 fi if ! command -v make &> /dev/null then echo "make could not be found. Please install it and try again." exit 1 fi VERSION=$(grep APP_VERSION src/version.h |cut -d\" -f2) QTVERSION=$(qmake --version | tail -n 1 | cut -d' ' -f4) QT_MAJOR_VERSION=$(echo $QTVERSION | cut -d. -f1) QT_SUB_VERSION=$(echo $QTVERSION | cut -d. -f2) if [ "$QT_MAJOR_VERSION" != "5" ]; then echo "Your QT version $QTVERSION is not compatible, only QT 5.x is supported" exit 1 fi if [ "$QT_SUB_VERSION" -lt "12" ]; then echo "Your QT version $QTVERSION is not compatible, at least QT 5.12.0 is required" exit 1 fi echo "Compiling SilentDragonLite $VERSION on $UNAME with QT $QTVERSION and args=$@" CONF=silentdragon-lite.pro set -e qbuild () { qmake $CONF CONFIG+=debug #lupdate $CONF #lrelease $CONF # default to 2 jobs or use the -j value given as argument to this script make -j2 "$@" } if [ "$1" == "clean" ]; then make clean elif [ "$1" == "linguist" ]; then lupdate $CONF lrelease $CONF elif [ "$1" == "cleanbuild" ]; then make clean qbuild "$@" else qbuild "$@" fi