cmvr-es/script/install.sh
2025-08-21 13:56:39 +08:00

70 lines
1.7 KiB
Bash

# shellcheck disable=SC2164
# shellcheck disable=SC2046
sudo apt-get install -y build-essential
sudo apt-get install -y liblttng-ust-dev
sudo apt-get install -y lttng-tools
sudo apt install -y libboost-all-dev libssl-dev
# json
sudo apt install -y libjsoncpp-dev
# google
sudo apt install -y libgoogle-glog-dev
# vision
sudo apt install -y libeigen3-dev
sudo apt install -y libopencv-dev python3-opencv
# flann
sudo apt-get install -y libflann-dev
# ffmpeg
sudo apt install -y ffmpeg
#alas
sudo apt-get install -y libasound2-dev
# gstreamer
sudo apt install -y gstreamer1.0-plugins-good gstreamer1.0-plugins-bad
sudo apt install -y gstreamer1.0-plugins-ugly gstreamer1.0-libav
# build dependency
export MY_INSTALL_DIR=$HOME/.local
export PATH="$MY_INSTALL_DIR/bin:$PATH"
# install cmake
CMAKE_VERSION=$(cmake --version 2>/dev/null | head -n1 | awk '{print $3}')
REQUIRED_VERSION="3.30.3"
version_mismatch() {
[ "$CMAKE_VERSION" != "$REQUIRED_VERSION" ]
}
if ! command -v cmake &>/dev/null; then
echo "cmake not found, installing..."
sh assets/cmake-3.30.3-linux-x86_64.sh -- --skip-license --prefix="$MY_INSTALL_DIR" -y
elif version_mismatch; then
echo "cmake version is $CMAKE_VERSION, expected $REQUIRED_VERSION, reinstalling..."
sh assets/cmake-3.30.3-linux-x86_64.sh -- --skip-license --prefix="$MY_INSTALL_DIR" -y
else
echo "cmake version is $CMAKE_VERSION, no action needed."
fi
cd third_party
# grpc
pushd grpc
sudo apt install -y build-essential autoconf libtool pkg-config
mkdir -p cmake/build
pushd cmake/build
cmake -DgRPC_INSTALL=ON \
-DgRPC_BUILD_TESTS=OFF \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_INSTALL_PREFIX="$MY_INSTALL_DIR" \
../..
make -j $(nproc)
make install
popd
# building finished
popd