mirror of
https://github.com/opentx/opentx.git
synced 2025-07-13 11:29:51 +03:00
* [TravisCI] Build using avr-gcc 4.9.2 (up from 4.8.2). Relies on https://github.com/opentx/opentx/pull/4169 . Fixes all linker warnings, makes clean build. * [build] Add ARM/AVR compiler version check/display and a workaround for avr-gcc linker warnings when using WARNINGS_AS_ERRORS=true. * [TravisCI] Enable -Werror on all build targets (WARNINGS_AS_ERRORS=true). * [build] CMake script updates: Enable WARNINGS_AS_ERRORS option for all targets (not just firmware); Consolidate some C/CXX flag settings for firmware target, avoid duplication/redundancy; All warning flags are now passed to linker (GCC only); Add a "build report" for each main target showing compiler, flags, and defines, with verbosity controlled by new VERBOSE_CMAKELISTS option; Added properties to PCB, TRANSLATIONS, and a few other options (makes option selector lists in cmake-gui); Add macro for conditionally adding C++11 flag; Silence CMake >3.0 warnings about CMP0054 policy not being set; Reverts AVR linker -Werror workaround; Misc. cleanup/consolidation. * [build] More CMakeLists updates: Silence superfluous "CRT_SECURE" series MSVC warnings; Formalize finding pthread lib/dll on MSVC builds and fix some issues with install target script; Add property string lists to more options; Quotes some paths with possible spaces, & other minor cosmetics. * [build] firmware/bootloader: Remove remaining CMake default compiler flags and add FIRMWARE_C[XX}_FLAGS[_DEBUG] options for user to specify additional flags. Also move ASM language call to silence CMake warning w/MSVC. * [build] Workaround bogus "uninitialized" warnings from AVR linker. * [tests] Add custom printer for less verbose gtest output (use --verbose option to revert to gtest default). * [build] Use less verbose CMake output for TravisCI builds. Formalize search for gtest code and enable gtests target on WIN32-GCC. Minor language fix.
132 lines
4 KiB
Bash
Executable file
132 lines
4 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Stops on first error, echo on
|
|
set -e
|
|
set -x
|
|
|
|
# Allow variable core usage, default uses two cores, to set 8 cores for example : commit-tests.sh -j8
|
|
CORES=2
|
|
for i in "$@"
|
|
do
|
|
case $i in
|
|
--jobs=*)
|
|
CORES="${i#*=}"
|
|
shift
|
|
;;
|
|
-j*)
|
|
CORES="${i#*j}"
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ "$(uname)" = "Darwin" ]; then
|
|
SCRIPT=$(python -c 'import os,sys;print(os.path.realpath(sys.argv[1]))' "$0")
|
|
else
|
|
SCRIPT=$(readlink -f "$0")
|
|
fi
|
|
|
|
SRCDIR=$(dirname "$SCRIPT")/..
|
|
COMMON_OPTIONS="-DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/opt/qt55 -DWARNINGS_AS_ERRORS=YES -DVERBOSE_CMAKELISTS=YES -DCMAKE_RULE_MESSAGES=OFF -Wno-dev"
|
|
|
|
mkdir build || true
|
|
cd build
|
|
|
|
# OpenTX on 9X stock with FrSky telemetry
|
|
rm -rf *
|
|
cmake ${COMMON_OPTIONS} -DPCB=9X -DHELI=YES -DTEMPLATES=YES -DTELEMETRY=FRSKY ${SRCDIR}
|
|
make -j${CORES} firmware
|
|
make -j${CORES} simu
|
|
make -j${CORES} gtests ; ./gtests --gtest_shuffle --gtest_repeat=5 --gtest_break_on_failure
|
|
|
|
# OpenTX on 9X stock with Ardupilot telemetry
|
|
rm -rf *
|
|
cmake ${COMMON_OPTIONS} -DPCB=9X -DHELI=YES -DTEMPLATES=YES -DTELEMETRY=ARDUPILOT ${SRCDIR}
|
|
make -j${CORES} firmware
|
|
|
|
# OpenTX on 9X stock with JETI telemetry
|
|
rm -rf *
|
|
cmake ${COMMON_OPTIONS} -DPCB=9X -DHELI=YES -DTEMPLATES=YES -DTELEMETRY=JETI ${SRCDIR}
|
|
make -j${CORES} firmware
|
|
|
|
# OpenTX on Mega2560
|
|
rm -rf *
|
|
cmake ${COMMON_OPTIONS} -DPCB=MEGA2560 -DTEMPLATES=YES -DHELI=YES ${SRCDIR}
|
|
make -j${CORES} firmware
|
|
make -j${CORES} simu
|
|
make -j${CORES} gtests ; ./gtests --gtest_shuffle --gtest_repeat=5 --gtest_break_on_failure
|
|
|
|
# OpenTX on Mega2560 with Mavlink telemetry
|
|
rm -rf *
|
|
cmake ${COMMON_OPTIONS} -DPCB=MEGA2560 -DTELEMETRY=MAVLINK -DHELI=YES -DTEMPLATES=YES -DAUDIO=YES -DVOICE=YES ${SRCDIR}
|
|
make -j${CORES} firmware
|
|
make -j${CORES} simu
|
|
make -j${CORES} gtests ; ./gtests --gtest_shuffle --gtest_repeat=5 --gtest_break_on_failure
|
|
|
|
# OpenTX on gruvin9x board
|
|
rm -rf *
|
|
cmake ${COMMON_OPTIONS} -DPCB=GRUVIN9X -DHELI=YES -DTEMPLATES=YES -DAUDIO=YES -DVOICE=YES ${SRCDIR}
|
|
make -j${CORES} firmware
|
|
make -j${CORES} simu
|
|
make -j${CORES} gtests ; ./gtests --gtest_shuffle --gtest_repeat=5 --gtest_break_on_failure
|
|
|
|
# OpenTX on Sky9x
|
|
rm -rf *
|
|
cmake ${COMMON_OPTIONS} -DPCB=SKY9X -DHELI=YES ${SRCDIR}
|
|
make -j${CORES} firmware
|
|
make -j${CORES} simu
|
|
make -j${CORES} gtests ; ./gtests --gtest_shuffle --gtest_repeat=5 --gtest_break_on_failure
|
|
|
|
# OpenTX on AR9X
|
|
rm -rf *
|
|
cmake ${COMMON_OPTIONS} -DPCB=AR9X -DHELI=YES ${SRCDIR}
|
|
make -j${CORES} firmware
|
|
make -j${CORES} simu
|
|
make -j${CORES} gtests ; ./gtests --gtest_shuffle --gtest_repeat=5 --gtest_break_on_failure
|
|
|
|
# OpenTX on X7
|
|
rm -rf *
|
|
cmake ${COMMON_OPTIONS} -DPCB=X7 -DHELI=YES ${SRCDIR}
|
|
make -j${CORES} firmware
|
|
make -j${CORES} simu
|
|
make -j${CORES} gtests ; ./gtests --gtest_shuffle --gtest_repeat=5 --gtest_break_on_failure
|
|
|
|
# OpenTX on X9D
|
|
rm -rf *
|
|
cmake ${COMMON_OPTIONS} -DPCB=X9D -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
|
|
make -j${CORES} firmware
|
|
make -j${CORES} simu
|
|
make -j${CORES} gtests ; ./gtests --gtest_shuffle --gtest_repeat=5 --gtest_break_on_failure
|
|
|
|
# OpenTX on X9D+
|
|
rm -rf *
|
|
cmake ${COMMON_OPTIONS} -DPCB=X9D+ -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
|
|
make -j${CORES} firmware
|
|
make -j${CORES} simu
|
|
make -j${CORES} gtests ; ./gtests --gtest_shuffle --gtest_repeat=5 --gtest_break_on_failure
|
|
|
|
# OpenTX on Taranis X9E
|
|
rm -rf *
|
|
cmake ${COMMON_OPTIONS} -DPCB=X9E -DHELI=YES -DLUA=YES -DGVARS=YES -DPPM_UNIT=PERCENT_PREC1 ${SRCDIR}
|
|
make -j${CORES} firmware
|
|
make -j${CORES} simu
|
|
make -j${CORES} gtests ; ./gtests --gtest_shuffle --gtest_repeat=5 --gtest_break_on_failure
|
|
|
|
# OpenTX on Horus beta boards
|
|
rm -rf *
|
|
cmake ${COMMON_OPTIONS} -DPCB=HORUS -DPCBREV=10 -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
|
|
make -j${CORES} firmware
|
|
make -j${CORES} simu
|
|
make -j${CORES} gtests ; ./gtests --gtest_shuffle --gtest_repeat=5 --gtest_break_on_failure
|
|
|
|
# OpenTX on Horus
|
|
rm -rf *
|
|
cmake ${COMMON_OPTIONS} -DPCB=HORUS -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
|
|
make -j${CORES} firmware
|
|
make -j${CORES} simu
|
|
make -j${CORES} gtests ; ./gtests --gtest_shuffle --gtest_repeat=5 --gtest_break_on_failure
|
|
|
|
# Companion
|
|
rm -rf *
|
|
cmake ${COMMON_OPTIONS} ${SRCDIR}
|
|
make -j${CORES}
|