#!/bin/bash
################################################################################
SHELL_DIR=$(dirname $0)
cd $SHELL_DIR
cd ..
export OPPILOT_HOME=`pwd`
export OPPILOT_BIN=$OPPILOT_HOME/install
echo "OPPILOT_HOME=$OPPILOT_HOME"
echo "OPPILOT_BIN=$OPPILOT_BIN"
echo
################################################################################
VERSION="V1.2.5"
CMAKE_PREFIX_PATH=/opt/ros/melodic:$OPPILOT_BIN
cd $OPPILOT_HOME/
CUDA_EN=1
PKG_SELECT=""
PKG_SKIP=""
ARGS=""
# PKG_SKIP+=" --packages-skip"
# PKG_SKIP+=" image_geometry cv_bridge opencv_tests vision_opencv" # python3
# PKG_SKIP+=" "
ARGS+=" --catkin-skip-building-tests"
# ARGS+=" --symlink-install"
ARGS+=" --cmake-args "
ARGS+=" -DCMAKE_BUILD_TYPE=Release"
# ARGS+=" -DPYTHON_EXECUTABLE=/usr/bin/python3"
clean=0
pkgs=""
if (( $# > 0 )); then
# echo "argc: $#"
for arg in $@
do
if [ $arg == "-f" ]; then
clean=1
else
if [ $arg == "-py3" ]; then
ARGS+=" -DPYTHON_EXECUTABLE=/usr/bin/python3"
else
pkgs+="$arg "
fi
fi
done
fi
if (( $clean == 1 )); then
# echo "clean: $clean"
if [ -n "$pkgs" ]; then
for pkg in $pkgs
do
echo "rm -rf build/$pkg install/$pkg"
rm -rf build/$pkg install/$pkg
done
else
echo "rm -rf build/ $pkg install/"
rm -rf build/ install/
fi
fi
# echo "pkgs: $pkgs, clean: $clean"
if [ -n "$pkgs" ]; then
for pkg in $pkgs
do
PKG_SELECT="--packages-select=$pkg"
echo "PKG_SELECT $PKG_SELECT"
_ARGS="$PKG_SELECT $PKG_SKIP $ARGS"
echo "COMPILE_WITH_CUDA=$CUDA_EN colcon build $_ARGS"
COMPILE_WITH_CUDA=$CUDA_EN colcon build $_ARGS
# echo "COMPILE_WITH_CUDA=$CUDA_EN colcon build $ARGS" > .build.sh
# source .build.sh
done
else
ARGS="$PKG_SELECT $PKG_SKIP $ARGS"
echo "COMPILE_WITH_CUDA=$CUDA_EN colcon build $ARGS"
COMPILE_WITH_CUDA=$CUDA_EN colcon build $ARGS
fi
05-24
08-03
08-03
08-03