diff --git a/.travis.yml b/.travis.yml index 442466067..6a8432377 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,65 +1,50 @@ sudo: required -dist: trusty +dist: xenial language: cpp compiler: gcc +addons: + apt: + sources: + - sourceline: 'ppa:ubuntu-sdk-team/ppa' + - sourceline: 'ppa:ubuntu-toolchain-r/test' + - sourceline: 'ppa:beineri/opt-qt571-xenial' + update: true + packages: + - curl + - libmpfr4 + - libmpc3 + - libfox-1.6-dev + - libgtest-dev + - clang-6.0 + - python3-pip + env: global: - # - QT_BASE=53 - # - QT_BASE=54 - # - QT_BASE=55 - # - QT_BASE=56 - QT_BASE=57 - # - GCC_ARM=/opt/gcc-arm-none-eabi/bin - - PYTHONPATH=${PYTHONPATH}:/usr/lib/python3/dist-packages + - GCC_ARM_VERSION=4_7-2013q3 matrix: - # - # ALL will build every individual board & DEFAULT, sequentially. - # DEFAULT is "make all" (including Companion & Simulator), with default settings - # - # - FLAVOR=ALL - - FLAVOR=DEFAULT + - FLAVOR=COMPANION - FLAVOR=ARM9X - # - FLAVOR=AR9X - # - FLAVOR=SKY9X - # - FLAVOR=9XRPRO - FLAVOR=X9LITE - - FLAVOR=X9LITES - FLAVOR=X7 - - FLAVOR=T12 - FLAVOR=XLITE - - FLAVOR=XLITES - FLAVOR=X9 - # - FLAVOR=X9D - # - FLAVOR=X9D+ - # - FLAVOR=X9E - - FLAVOR=T16 - - FLAVOR=HORUS - # - FLAVOR=X10 - # - FLAVOR=X12Sr10 - # - FLAVOR=X12S + - FLAVOR=COLORLCD before_install: - - sudo add-apt-repository ppa:ubuntu-sdk-team/ppa --yes - - sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded --yes - - sudo add-apt-repository ppa:ubuntu-toolchain-r/test --yes - - if [ "$QT_BASE" = "53" ]; then sudo add-apt-repository ppa:beineri/opt-qt532-trusty -y; fi - - if [ "$QT_BASE" = "54" ]; then sudo add-apt-repository ppa:beineri/opt-qt542-trusty -y; fi - - if [ "$QT_BASE" = "55" ]; then sudo add-apt-repository ppa:beineri/opt-qt551-trusty -y; fi - - if [ "$QT_BASE" = "56" ]; then sudo add-apt-repository ppa:beineri/opt-qt562-trusty -y; fi - - if [ "$QT_BASE" = "57" ]; then sudo add-apt-repository ppa:beineri/opt-qt571-trusty -y; fi - - sudo apt-get update -qq - - pyenv uninstall -f 2.7.6 && pyenv install 3.5.4 && pyenv global 3.5.4 - - pip install pillow - -install: - - sudo apt-get --yes --force-yes install curl libmpfr4 libmpc3 libfox-1.6-dev libgtest-dev - - sudo apt-get --yes --force-yes install gcc-arm-none-eabi - # Trying to build with gcc-arm 4.7 isn't working because it can't find the compiler, despite adding to PATH (in commit-tests.sh) by defining GCC_ARM above - # - wget --quiet https://launchpad.net/gcc-arm-embedded/4.7/4.7-2013-q3-update/+download/gcc-arm-none-eabi-4_7-2013q3-20130916-linux.tar.bz2 - # - tar xjf gcc-arm-none-eabi-4_7-2013q3-20130916-linux.tar.bz2 - # - mv gcc-arm-none-eabi-4_7-2013q3 /opt/gcc-arm-none-eabi + - wget --quiet https://launchpad.net/gcc-arm-embedded/4.7/4.7-2013-q3-update/+download/gcc-arm-none-eabi-${GCC_ARM_VERSION}-20130916-linux.tar.bz2 + - tar xjf gcc-arm-none-eabi-${GCC_ARM_VERSION}-20130916-linux.tar.bz2 + - sudo mv gcc-arm-none-eabi-${GCC_ARM_VERSION} /opt/gcc-arm-none-eabi + - sudo ln -s /opt/gcc-arm-none-eabi/bin/arm-none-eabi-gcc /usr/bin/arm-none-eabi-gcc + - sudo ln -s /opt/gcc-arm-none-eabi/bin/arm-none-eabi-g++ /usr/bin/arm-none-eabi-g++ + - sudo ln -s /opt/gcc-arm-none-eabi/bin/arm-none-eabi-as /usr/bin/arm-none-eabi-as + - sudo ln -s /opt/gcc-arm-none-eabi/bin/arm-none-eabi-objcopy /usr/bin/arm-none-eabi-objcopy + - sudo ln -s /opt/gcc-arm-none-eabi/bin/arm-none-eabi-objdump /usr/bin/arm-none-eabi-objdump + - sudo ln -s /opt/gcc-arm-none-eabi/bin/arm-none-eabi-size /usr/bin/arm-none-eabi-size - sudo apt-get install --yes --force-yes -qq qt${QT_BASE}base qt${QT_BASE}multimedia qt${QT_BASE}svg qt${QT_BASE}tools; source /opt/qt${QT_BASE}/bin/qt${QT_BASE}-env.sh + - sudo ln -sf /usr/bin/python3 /usr/bin/python + - python3 -m pip install pillow clang script: - ./tools/commit-tests.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index a52aef540..f34236e88 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -232,15 +232,21 @@ add_custom_target(tests-radio if(Qt5Core_FOUND AND NOT DISABLE_COMPANION) add_subdirectory(${COMPANION_SRC_DIRECTORY}) - add_custom_target(gtests DEPENDS gtests-radio gtests-companion) + add_custom_target(tests-companion + COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gtests-companion + DEPENDS gtests-companion + ) + add_custom_target(gtests + DEPENDS gtests-radio gtests-companion + ) add_custom_target(tests - COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gtests-radio && ${CMAKE_CURRENT_BINARY_DIR}/gtests-companion - DEPENDS gtests + DEPENDS tests-radio tests-companion ) else() - add_custom_target(gtests DEPENDS gtests-radio) + add_custom_target(gtests + DEPENDS gtests-radio + ) add_custom_target(tests - COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gtests-radio - DEPENDS gtests + DEPENDS tests-radio ) endif() diff --git a/radio/src/targets/horus/CMakeLists.txt b/radio/src/targets/horus/CMakeLists.txt index 2a9af5ed1..0c8ac03c1 100644 --- a/radio/src/targets/horus/CMakeLists.txt +++ b/radio/src/targets/horus/CMakeLists.txt @@ -222,9 +222,13 @@ set(STM32LIB_SRC ) if(PYTHONINTERP_FOUND) - add_custom_target(datacopy + add_custom_command( + OUTPUT ${PROJECT_BINARY_DIR}/radio/src/datacopy.cpp WORKING_DIRECTORY ${RADIO_DIRECTORY}/src - COMMAND ${PYTHON_EXECUTABLE} ${RADIO_DIRECTORY}/util/generate_datacopy.py datastructs.h -DPCBHORUS -DPCBX10 -DCPUARM -DCOLORLCD -DBACKUP -Itargets/horus > storage/datacopy.cpp + COMMAND ${PYTHON_EXECUTABLE} ${RADIO_DIRECTORY}/util/generate_datacopy.py datastructs.h -DPCBHORUS -DPCBX10 -DCPUARM -DCOLORLCD -DBACKUP -Itargets/horus > ${PROJECT_BINARY_DIR}/radio/src/datacopy.cpp DEPENDS ${RADIO_DIRECTORY}/src/datastructs.h ${RADIO_DIRECTORY}/util/generate_datacopy.py - ) + ) + add_custom_target(datacopy + DEPENDS ${PROJECT_BINARY_DIR}/radio/src/datacopy.cpp + ) endif() diff --git a/radio/util/generate_datacopy.py b/radio/util/generate_datacopy.py index 3b233d712..ecf636c16 100755 --- a/radio/util/generate_datacopy.py +++ b/radio/util/generate_datacopy.py @@ -14,10 +14,12 @@ if sys.platform == "darwin": clang.cindex.Config.set_library_file('/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libclang.dylib') elif os.path.exists('/Library/Developer/CommandLineTools/usr/lib/libclang.dylib'): clang.cindex.Config.set_library_file('/Library/Developer/CommandLineTools/usr/lib/libclang.dylib') - -if sys.platform == "linux2": - if os.path.exists('/usr/lib/x86_64-linux-gnu/libclang-3.8.so.1'): - clang.cindex.Config.set_library_file('/usr/lib/x86_64-linux-gnu/libclang-3.8.so.1') +elif sys.platform.startswith("linux"): + for version in ("6.0", "3.8"): + libclang = "/usr/lib/x86_64-linux-gnu/libclang-%s.so.1" % version + if os.path.exists(libclang): + clang.cindex.Config.set_library_file(libclang) + break structs = [] extrastructs = [] @@ -31,7 +33,7 @@ def build_struct(cursor, anonymousUnion=False): for c in cursor.get_children(): if c.kind == clang.cindex.CursorKind.UNION_DECL: if c.spelling: - raise "Cannot handle non anonymous unions" + raise Exception("Cannot handle non anonymous unions") copied_union_member = False for uc in c.get_children(): diff --git a/tools/commit-tests.sh b/tools/commit-tests.sh index 61b1bc5c3..9e470343c 100755 --- a/tools/commit-tests.sh +++ b/tools/commit-tests.sh @@ -5,12 +5,12 @@ set -e set -x # Allow variable core usage, default uses all cpu cores, to set 8 cores for example : commit-tests.sh -j8 -num_cpus=`grep 'physical id' /proc/cpuinfo | sort -u | wc -l` -: ${CORES:=$num_cpus} +num_cpus=$(grep 'physical id' /proc/cpuinfo | sort -u | wc -l) +: "${CORES:=$num_cpus}" # Default build treats warnings as errors, set -Wno-error to override, e.g.: commit-tests.sh -Wno-error -: ${WERROR:=1} +: "${WERROR:=1}" # A board name to build for, or ALL -: ${FLAVOR:=ALL} +: "${FLAVOR:=ALL}" for i in "$@" do @@ -40,7 +40,7 @@ else SCRIPT=$(readlink -f "$0") fi -if [[ ! -z ${GCC_ARM} ]] ; then +if [[ -n ${GCC_ARM} ]] ; then export PATH=${GCC_ARM}:$PATH fi @@ -58,145 +58,145 @@ COMMON_OPTIONS+=${EXTRA_OPTIONS} mkdir build || true cd build -if [[ " SKY9X ARM9X ALL " =~ " ${FLAVOR} " ]] ; then +if [[ " SKY9X ARM9X ALL " =~ \ ${FLAVOR}\ ]] ; then # OpenTX on Sky9x - rm -rf * - cmake ${COMMON_OPTIONS} -DPCB=SKY9X -DHELI=YES DLUA=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 -DGVARS=YES ${SRCDIR} - make -j${CORES} ${FIRMARE_TARGET} - make -j${CORES} libsimulator - make -j${CORES} tests-radio + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=SKY9X -DHELI=YES DLUA=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 -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio fi -if [[ " AR9X ARM9X ALL " =~ " ${FLAVOR} " ]] ; then +if [[ " AR9X ARM9X ALL " =~ \ ${FLAVOR}\ ]] ; then # OpenTX on AR9X - rm -rf * - cmake ${COMMON_OPTIONS} -DPCB=AR9X -DHELI=YES -DGVARS=YES ${SRCDIR} - make -j${CORES} ${FIRMARE_TARGET} - make -j${CORES} libsimulator - make -j${CORES} tests-radio + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=AR9X -DHELI=YES -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio fi -if [[ " 9XRPRO ARM9X ALL " =~ " ${FLAVOR} " ]] ; then +if [[ " 9XRPRO ARM9X ALL " =~ \ ${FLAVOR}\ ]] ; then # OpenTX on Sky9x - rm -rf * - cmake ${COMMON_OPTIONS} -DPCB=9XRPRO -DHELI=YES -DGVARS=YES ${SRCDIR} - make -j${CORES} ${FIRMARE_TARGET} - make -j${CORES} libsimulator - make -j${CORES} tests-radio + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=9XRPRO -DHELI=YES -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio fi -if [[ " X9LITE ALL " =~ " ${FLAVOR} " ]] ; then +if [[ " X9LITE ALL " =~ \ ${FLAVOR}\ ]] ; then # OpenTX on X9LITE - rm -rf * - cmake ${COMMON_OPTIONS} -DPCB=X9LITE -DHELI=YES -DGVARS=YES ${SRCDIR} - make -j${CORES} ${FIRMARE_TARGET} - make -j${CORES} libsimulator - make -j${CORES} tests-radio + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=X9LITE -DHELI=YES -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio fi -if [[ " X9LITES ALL " =~ " ${FLAVOR} " ]] ; then +if [[ " X9LITES X9LITE ALL " =~ \ ${FLAVOR}\ ]] ; then # OpenTX on X9LITES - rm -rf * - cmake ${COMMON_OPTIONS} -DPCB=X9LITES -DHELI=YES -DGVARS=YES ${SRCDIR} - make -j${CORES} ${FIRMARE_TARGET} - make -j${CORES} libsimulator - make -j${CORES} tests + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=X9LITES -DHELI=YES -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio fi -if [[ " X7 ALL " =~ " ${FLAVOR} " ]] ; then +if [[ " X7 ALL " =~ \ ${FLAVOR}\ ]] ; then # OpenTX on X7 - rm -rf * - cmake ${COMMON_OPTIONS} -DPCB=X7 -DHELI=YES -DGVARS=YES ${SRCDIR} - make -j${CORES} ${FIRMARE_TARGET} - make -j${CORES} libsimulator - make -j${CORES} tests-radio + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=X7 -DHELI=YES -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio fi -if [[ " XLITE ALL " =~ " ${FLAVOR} " ]] ; then - # OpenTX on X-Lite - rm -rf * - cmake ${COMMON_OPTIONS} -DPCB=XLITE -DHELI=YES -DGVARS=YES ${SRCDIR} - make -j${CORES} ${FIRMARE_TARGET} - make -j${CORES} libsimulator - make -j${CORES} tests-radio -fi - -if [[ " XLITES ALL " =~ " ${FLAVOR} " ]] ; then - # OpenTX on X-Lites - rm -rf * - cmake ${COMMON_OPTIONS} -DPCB=XLITES -DHELI=YES -DGVARS=YES ${SRCDIR} - make -j${CORES} ${FIRMARE_TARGET} - make -j${CORES} libsimulator - make -j${CORES} tests-radio -fi - -if [[ " X9D X9 ALL " =~ " ${FLAVOR} " ]] ; then - # OpenTX on X9D - rm -rf * - cmake ${COMMON_OPTIONS} -DPCB=X9D -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR} - make -j${CORES} ${FIRMARE_TARGET} - make -j${CORES} libsimulator - make -j${CORES} tests-radio -fi - -if [[ " X9D+ X9 ALL " =~ " ${FLAVOR} " ]] ; then - # OpenTX on X9D+ - rm -rf * - cmake ${COMMON_OPTIONS} -DPCB=X9D+ -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR} - make -j${CORES} ${FIRMARE_TARGET} - make -j${CORES} libsimulator - make -j${CORES} tests-radio -fi - -if [[ " X9D+2019 X9 ALL " =~ " ${FLAVOR} " ]] ; then - # OpenTX on X9D+ 2019 - rm -rf * - cmake ${COMMON_OPTIONS} -DPCB=X9D+ -DPCBREV=2019 -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR} - make -j${CORES} ${FIRMARE_TARGET} - make -j${CORES} libsimulator - make -j${CORES} tests-radio -fi - -if [[ " X9E X9 ALL " =~ " ${FLAVOR} " ]] ; then - # 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} ${FIRMARE_TARGET} - make -j${CORES} libsimulator - make -j${CORES} tests-radio -fi - -if [[ " X10 HORUS ALL " =~ " ${FLAVOR} " ]] ; then - # OpenTX on X10 boards - rm -rf * - cmake ${COMMON_OPTIONS} -DPCB=X10 -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR} - make -j${CORES} ${FIRMARE_TARGET} - make -j${CORES} libsimulator - make -j${CORES} tests-radio -fi - -if [[ " X12S HORUS ALL " =~ " ${FLAVOR} " ]] ; then - # OpenTX on Horus - rm -rf * - cmake ${COMMON_OPTIONS} -DPCB=X12S -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR} - make -j${CORES} ${FIRMARE_TARGET} - make -j${CORES} libsimulator - make -j${CORES} tests-radio -fi - -if [[ " T12 ALL " =~ " ${FLAVOR} " ]] ; then +if [[ " T12 X7 ALL " =~ \ ${FLAVOR}\ ]] ; then # OpenTX on T12 - rm -rf * - cmake ${COMMON_OPTIONS} -DPCB=X7 -DPCBREV=T12 -DHELI=YES -DGVARS=YES ${SRCDIR} - make -j${CORES} ${FIRMARE_TARGET} - make -j${CORES} libsimulator - make -j${CORES} tests-radio + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=X7 -DPCBREV=T12 -DHELI=YES -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio fi -if [[ " DEFAULT ALL " =~ " ${FLAVOR} " ]] ; then +if [[ " XLITE ALL " =~ \ ${FLAVOR}\ ]] ; then + # OpenTX on X-Lite + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=XLITE -DHELI=YES -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio +fi + +if [[ " XLITES XLITE ALL " =~ \ ${FLAVOR}\ ]] ; then + # OpenTX on X-Lites + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=XLITES -DHELI=YES -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio +fi + +if [[ " X9D X9 ALL " =~ \ ${FLAVOR}\ ]] ; then + # OpenTX on X9D + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=X9D -DHELI=YES -DLUA=YES -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio +fi + +if [[ " X9D+ X9 ALL " =~ \ ${FLAVOR}\ ]] ; then + # OpenTX on X9D+ + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=X9D+ -DHELI=YES -DLUA=YES -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio +fi + +if [[ " X9D+2019 X9 ALL " =~ \ ${FLAVOR}\ ]] ; then + # OpenTX on X9D+ 2019 + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=X9D+ -DPCBREV=2019 -DHELI=YES -DLUA=YES -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio +fi + +if [[ " X9E X9 ALL " =~ \ ${FLAVOR}\ ]] ; then + # 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}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio +fi + +if [[ " X10 COLORLCD ALL " =~ \ ${FLAVOR}\ ]] ; then + # OpenTX on X10 boards + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=X10 -DHELI=YES -DLUA=YES -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio +fi + +if [[ " X12S COLORLCD ALL " =~ \ ${FLAVOR}\ ]] ; then + # OpenTX on X12S + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=X12S -DHELI=YES -DLUA=YES -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio +fi + +if [[ " COMPANION ALL " =~ \ ${FLAVOR}\ ]] ; then # Companion - rm -rf * - cmake ${COMMON_OPTIONS} ${SRCDIR} - make -j${CORES} - make -j${CORES} tests + rm -rf ./* + cmake "${COMMON_OPTIONS}" "${SRCDIR}" + make -j"${CORES}" companion23 simulator23 + make -j"${CORES}" tests-companion fi