1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-12 19:10:19 +03:00
opentx/tools/build-companion-nightly.sh
2023-10-03 11:42:06 +02:00

162 lines
4.1 KiB
Bash
Executable file

#!/bin/bash
# Stops on first error, echo on
set -e
set -x
if [ "$(uname)" = "Darwin" ]; then
num_cpus=$(sysctl -n hw.ncpu)
: "${JOBS:=$num_cpus}"
else
JOBS=3
fi
while [ $# -gt 0 ]
do
case "$1" in
--jobs=*)
JOBS="${1#*=}";;
-j*)
JOBS="${1#*j}";;
-*)
echo >&2 "usage: $0 [-j<jobs>|--jobs=<jobs>] SRCDIR OUTDIR VERSION_SUFFIX"
exit 1;;
*)
break;; # terminate while loop
esac
shift
done
SRCDIR=$1
OUTDIR=$2
COMMON_OPTIONS="-DCMAKE_BUILD_TYPE=Release -DALLOW_NIGHTLY_BUILDS=YES -DTEST_BUILD_WARNING=YES -DGVARS=YES -DHELI=YES -DLUA=YES -DMULTIMODULE=YES -DTELEMETRY=FRSKY -DPPM_LIMITS_SYMETRICAL=YES -DVARIO=YES -DAUTOSWITCH=YES -DAUTOSOURCE=YES -DAUDIO=YES -DGPS=YES -DPPM_CENTER_ADJUSTABLE=YES -DFLIGHT_MODES=YES -DOVERRIDE_CHANNEL_FUNCTION=YES -DFRSKY_STICKS=YES"
if [ "$(uname)" = "Darwin" ]; then
COMMON_OPTIONS="${COMMON_OPTIONS} -DCMAKE_PREFIX_PATH=~/Qt/5.7/clang_64/ -DCMAKE_OSX_DEPLOYMENT_TARGET='10.9'"
fi
if [ "$3" != "" ]; then
COMMON_OPTIONS="${COMMON_OPTIONS} -DVERSION_SUFFIX=$3"
else
wget https://downloads.open-tx.org/2.3/nightlies/companion/companion-linux.stamp
version=$(cut -d'N' -f 3 < companion-linux.stamp)
version=$(echo $version | tr -cd '[[:digit:]]')
version=$((version+1))
nightly=N"$version"
COMMON_OPTIONS="${COMMON_OPTIONS} -DVERSION_SUFFIX=$nightly"
fi
rm -rf build
mkdir build
cd build
cmake ${COMMON_OPTIONS} -DPCB=AR9X ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=SKY9X ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=9XRPRO ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X9LITE ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X9LITES ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X7 ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X7 -DPCBREV=ACCESS ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X7 -DPCBREV=T12 ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X7 -DPCBREV=TX12 ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X7 -DPCBREV=ZORRO ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X7 -DPCBREV=T8 ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X7 -DPCBREV=TLITE ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X7 -DPCBREV=TPRO ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X9D ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X9D+ ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X9D+ -DPCBREV=2019 ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=XLITE ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=XLITES ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X9E ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X10 ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X10 -DPCBREV=T16 -DINTERNAL_MODULE_MULTI=YES ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X10 -DPCBREV=TX16S ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X10 -DPCBREV=T18 ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X10 -DPCBREV=EXPRESS ${SRCDIR}
make -j${JOBS} libsimulator
rm CMakeCache.txt
cmake ${COMMON_OPTIONS} -DPCB=X12S ${SRCDIR}
make -j${JOBS} libsimulator
if [ "$(uname)" = "Darwin" ]; then
make -j${JOBS} package
cp *.dmg "${OUTDIR}"
elif [ "$(uname)" = "Linux" ]; then
make -j${JOBS} package
cp *.deb "${OUTDIR}"
else
cmake ${COMMON_OPTIONS} -DWIN_DO_FULL_INSTALL=YES ${SRCDIR}
make -j${JOBS} installer
cp companion/*.exe "${OUTDIR}"
fi