This commit is contained in:
deeaitch committed 2026-10-23 20:19:37 -04:00
1 parent a258abf7be
commit a702cffd93
5 files changed
+97

No files matched your search

+41
View File
@@ -0,0 +1,41 @@
#!/usr/bin/env bash
# Build core and run the local regression checks.
set -euo pipefail
mode=${1:-release}
source_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
build_dir=${2:-"$source_dir/build-ci/$mode"}
qmake_args=()
compiler_flags=()
case "$mode" in
release)
qmake_args+=(CONFIG+=release CONFIG-=debug)
compiler_flags+=(-O2)
;;
sanitize)
qmake_args+=(CONFIG+=debug CONFIG-=release
'QMAKE_CXXFLAGS+=-fsanitize=address,undefined -fno-omit-frame-pointer'
'QMAKE_LFLAGS+=-fsanitize=address,undefined')
compiler_flags+=(-g -fsanitize=address,undefined -fno-omit-frame-pointer)
export ASAN_OPTIONS=${ASAN_OPTIONS:-detect_leaks=1:halt_on_error=1}
export UBSAN_OPTIONS=${UBSAN_OPTIONS:-halt_on_error=1:print_stacktrace=1}
;;
*)
echo "Usage: $0 [release|sanitize] [build-directory]" >&2
exit 2
;;
esac
export QT_FATAL_WARNINGS=${QT_FATAL_WARNINGS:-1}
mkdir -p -- "$build_dir"
cd -- "$build_dir"
"${QMAKE:-qmake6}" "$source_dir/dbc.pro" "${qmake_args[@]}"
make -j"${JOBS:-4}"
make check
# Also verify that the tree and its builder compile and run without Qt.
"${CXX:-c++}" -std=c++17 "${compiler_flags[@]}" -I"$source_dir/core" \
"$source_dir/tests/tree_node_test.cpp" "$source_dir/core/tree_node.cpp" \
"$source_dir/core/dbc_tree_builder.cpp" -o dbc_tree_standalone_test
./dbc_tree_standalone_test