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
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
|
|
|