| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #!/usr/bin/env bash
- set -e
- DIR="$(cd "$(dirname "$0")" && pwd)"
- BUILD_DIR="$DIR/build"
- JOBS=${JOBS:-$(nproc)}
- CLEAN=0
- REBUILD=0
- usage() {
- cat << 'EOF'
- Usage: ./build.sh [options]
- Options:
- -c, --clean Clean build from scratch
- -r, --rebuild Reconfigure cmake (delete CMakeCache) then rebuild
- -j N Number of parallel jobs (default: nproc)
- -h, --help Show this help
- EOF
- }
- while [ $# -gt 0 ]; do
- case "$1" in
- -c|--clean) CLEAN=1 ;;
- -r|--rebuild) REBUILD=1 ;;
- -j) JOBS="$2"; shift ;;
- -h|--help) usage; exit 0 ;;
- *) echo "Unknown option: $1"; usage; exit 1 ;;
- esac
- shift
- done
- if [ "$CLEAN" -eq 1 ]; then
- echo "Cleaning $BUILD_DIR ..."
- rm -rf "$BUILD_DIR"
- fi
- if [ "$REBUILD" -eq 1 ]; then
- rm -rf "$BUILD_DIR"
- fi
- if [ ! -f "$BUILD_DIR/Makefile" ]; then
- echo "Configuring with cmake ..."
- cmake -B "$BUILD_DIR" "$DIR"
- fi
- echo "Building with $JOBS jobs ..."
- cmake --build "$BUILD_DIR" -j "$JOBS"
- echo "Build complete: $BUILD_DIR/rtsp_multi_view"
|