You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

62 lines
1.2 KiB

#!/bin/bash
set -e
USER=`whoami`
SUDO=
function sudo_auth(){
echo "验证 sudo 权限..."
sudo -v >/dev/null 2>&1 || {
echo "❌ sudo 密码错误,退出脚本"
exit 1
}
}
function install_openmvs(){
cmake -S . -B make -DCMAKE_BUILD_TYPE=Release -DVCG_ROOT=./vcglib -DCGAL_DATA_DIR=/usr/share/cgal -DCMAKE_SKIP_RPATH=ON -DCMAKE_IGNORE_PATH=/root/miniconda3
cd make && make -j$(nproc)
make install
}
if [ "$USER" == "root" ]; then
SUDO=""
else
SUDO="sudo "
sudo_auth
fi
$SUDO apt update
install_if_missing() {
for pkg in "$@"; do
if dpkg -s "$pkg" >/dev/null 2>&1; then
echo "$pkg 已安装"
else
echo "📦 正在安装 $pkg ..."
$SUDO apt install -y "$pkg" || {
echo "❌ 安装 $pkg 失败"
exit 1
}
fi
done
}
install_if_missing build-essential cmake git pkg-config
#EIGEN3
install_if_missing libeigen3-dev
#opencv
install_if_missing libopencv-dev
#ceres solver
install_if_missing libceres-dev libceres2
#cgal
install_if_missing libcgal-dev libcgal-demo
#BOOST
install_if_missing libboost-all-dev
#GLFW
install_if_missing libglfw3-dev
install_openmvs