#!/bin/bash # Copyright (C) 2018-2023 nurupo # Toxcore building set -eux cd .. # /work . cmake-freebsd-run.sh # === Get VM ready to build the code === # Unpack image only if it's compressed. if [ -f "$IMAGE_NAME.gz" ]; then gunzip "$IMAGE_NAME.gz" fi mv c-toxcore / start_vm # Copy over toxcore code from host to qemu scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -P "$SSH_PORT" -r /c-toxcore root@localhost:~ RUN ls -lh cd /c-toxcore . '.github/scripts/flags-clang.sh' add_ld_flag -Wl,-z,defs # Make compilation error on a warning. add_flag -Werror # This triggers on FreeBSD's clang. add_flag -Wno-format add_flag -Wno-unsafe-buffer-usage RUN "cmake -B_build -Hc-toxcore \ -DCMAKE_C_FLAGS='$C_FLAGS' \ -DCMAKE_CXX_FLAGS='$CXX_FLAGS' \ -DCMAKE_EXE_LINKER_FLAGS='$LD_FLAGS' \ -DCMAKE_SHARED_LINKER_FLAGS='$LD_FLAGS' \ -DCMAKE_INSTALL_PREFIX:PATH='_install' \ -DMIN_LOGGER_LEVEL=TRACE \ -DMUST_BUILD_TOXAV=ON \ -DNON_HERMETIC_TESTS=ON \ -DSTRICT_ABI=ON \ -DTEST_TIMEOUT_SECONDS=120 \ -DUSE_IPV6=OFF \ -DAUTOTEST=ON" # We created the VM with the same number of cores as the host, so the host-ran `nproc` here is fine. RUN 'cmake --build _build --parallel "$NPROC" --target install -- -k' RUN 'cd _build && ctest -j50 --output-on-failure --rerun-failed --repeat until-pass:2 --timeout 120 || true' # Gracefully shut down the VM. stop_vm