add build.sh
This commit is contained in:
1 parent
af8100f851
commit
6f093be3f8
1 file changed
+62
@@ -0,0 +1,62 @@
|
|||||||
|
#!/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
|
||||||
|
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
|
||||||
Reference in new issue
Block a user