#!/bin/sh # NB: we can't use "meson compile -v", as centos 7 doesn't support that option. set -e set -v test -z "$BUILD" && BUILD=build rm -rf $BUILD # ASAN build with clang CC=clang meson setup $BUILD/asan -Db_sanitize=address -Db_lundef=false ninja -C $BUILD/asan -v meson test -C $BUILD/asan --suite style --print-errorlogs meson test -C $BUILD/asan --no-suite style --print-errorlogs # analyzer build meson setup $BUILD/scan-build -Dtran-pipe=true # no "meson scan-build" for some reason ninja -C $BUILD/scan-build -v scan-build -v meson test -C $BUILD/scan-build --no-suite style --print-errorlogs # debug build with clang CC=clang meson setup build/clang-debug -Dtran-pipe=true ninja -C $BUILD/clang-debug -v meson test -C $BUILD/clang-debug --no-suite style --print-errorlogs # release build with clang CC=clang meson setup build/clang-release -Dtran-pipe=true -Dbuildtype=release ninja -C $BUILD/clang-release -v meson test -C $BUILD/clang-release --no-suite style --print-errorlogs # debug build with gcc CC=gcc meson setup build/gcc-debug -Dtran-pipe=true ninja -C $BUILD/gcc-debug -v meson test -C $BUILD/gcc-debug --no-suite style --print-errorlogs meson test -C $BUILD/gcc-debug --suite unit --setup valgrind --print-errorlogs meson test -C $BUILD/gcc-debug --suite pyunit --setup pyvalgrind --print-errorlogs DESTDIR=tmp.install meson install -C $BUILD/gcc-debug # release build with gcc CC=gcc meson setup build/gcc-release -Dtran-pipe=true -Dbuildtype=release ninja -C $BUILD/gcc-release -v meson test -C $BUILD/gcc-release --no-suite style --print-errorlogs