|
|
#!/bin/bash |
|
|
|
|
|
delete_if_exists() { |
|
|
local folder=$1 |
|
|
build_folder="${folder}/build" |
|
|
bin_folder="${folder}/bin" |
|
|
lib_folder="${folder}/lib" |
|
|
if [ -d "$build_folder" ]; then |
|
|
rm -rf "$build_folder" |
|
|
fi |
|
|
if [ -d "$bin_folder" ]; then |
|
|
rm -rf "$bin_folder" |
|
|
fi |
|
|
if [ -d "$lib_folder" ]; then |
|
|
rm -rf "$lib_folder" |
|
|
fi |
|
|
} |
|
|
|
|
|
|
|
|
force_build=false |
|
|
verbose=false |
|
|
for input in "$@" |
|
|
do |
|
|
echo "Processing input: $input" |
|
|
if [ "$input" = "-f" ]; then |
|
|
force_build=true |
|
|
fi |
|
|
if [ "$input" = "-v" ]; then |
|
|
verbose=true |
|
|
fi |
|
|
done |
|
|
|
|
|
|
|
|
colmap_PATH=$(realpath "$0") |
|
|
colmap_DIR=$(dirname "$colmap_PATH") |
|
|
|
|
|
|
|
|
source_folder="${colmap_DIR}" |
|
|
build_folder="$source_folder/build" |
|
|
bin_folder="$source_folder/bin" |
|
|
lib_folder="$source_folder/lib" |
|
|
|
|
|
if [ "$force_build" = true ]; then |
|
|
delete_if_exists ${source_folder} |
|
|
fi |
|
|
|
|
|
if [ "$verbose" = true ]; then |
|
|
echo "[colmap][build.sh] Compile colmap ... " |
|
|
cmake -G Ninja -B $build_folder -S $source_folder -DCMAKE_PREFIX_PATH=$source_folder -DCMAKE_INSTALL_PREFIX=$source_folder -DBOOST_STATIC=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_CUDA_ARCHITECTURES=all -DCUDA_ENABLED=ON |
|
|
cmake --build $build_folder --config Release |
|
|
ninja install -C $build_folder |
|
|
else |
|
|
echo "[colmap][build.sh] Compile colmap (output disabled) ..." |
|
|
cmake -G Ninja -B $build_folder -S $source_folder -DCMAKE_PREFIX_PATH=$source_folder -DCMAKE_INSTALL_PREFIX=$source_folder > /dev/null 2>&1 |
|
|
cmake --build $build_folder --config Release > /dev/null 2>&1 |
|
|
ninja install -C $build_folder > /dev/null 2>&1 |
|
|
fi |
|
|
|
|
|
|
|
|
|