56 lines
1.4 KiB
Bash
56 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
# Build script for avm AVM project
|
|
# This script builds the OpenCV-based Around View Monitoring system
|
|
|
|
set -e # Exit on any error
|
|
|
|
echo "=== Building avm AVM Project ==="
|
|
|
|
# Get the project root directory (parent of scripts directory)
|
|
PROJECT_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
cd "$PROJECT_ROOT"
|
|
|
|
# Check if we're in the right directory
|
|
if [ ! -f "CMakeLists.txt" ]; then
|
|
echo "Error: CMakeLists.txt not found. Please run this script from the project root directory."
|
|
exit 1
|
|
fi
|
|
|
|
# Check if OpenCV is installed
|
|
if ! pkg-config --exists opencv4 && ! pkg-config --exists opencv; then
|
|
echo "Error: OpenCV not found. Please install OpenCV development packages."
|
|
echo "On Ubuntu/Debian: sudo apt-get install libopencv-dev"
|
|
exit 1
|
|
fi
|
|
|
|
# Display OpenCV version
|
|
OPENCV_VERSION=$(pkg-config --modversion opencv4 2>/dev/null || pkg-config --modversion opencv 2>/dev/null)
|
|
echo "Found OpenCV version: $OPENCV_VERSION"
|
|
|
|
# Create build directory if it doesn't exist
|
|
if [ ! -d "build" ]; then
|
|
echo "Creating build directory..."
|
|
mkdir build
|
|
fi
|
|
|
|
# Change to build directory
|
|
cd build
|
|
|
|
# Configure with CMake
|
|
echo "Configuring with CMake..."
|
|
cmake ..
|
|
|
|
# Build the project
|
|
echo "Building project..."
|
|
make -j$(nproc)
|
|
|
|
# Check if build was successful
|
|
if [ -f "bin/avm" ]; then
|
|
echo "=== Build completed successfully! ==="
|
|
echo "Executable created: build/bin/avm"
|
|
else
|
|
echo "=== Build failed! ==="
|
|
exit 1
|
|
fi
|