Closes #26
This commit is contained in:
1 parent
a258abf7be
commit
a702cffd93
5 files changed
+97
No files matched your search
@@ -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
|
||||
Reference in new issue
Block a user