Train_Identify/build.sh

82 lines
1.7 KiB
Bash

#!/bin/bash
set -e
path_cur=$(cd `dirname $0`; pwd)
build_type="Release"
# 生成目录 ceshi
app_path="app"
# 可执行程序名
appname="train"
# 拷贝执行文件依赖库
function cpoyLibs() {
# 利用 ldd 提取依赖库的具体路径
liblist=$(ldd ./$app_path/$appname | awk '{ if (match($3,"/")){ printf("%s "), $3 } }')
# 拷贝库文件和可执行程序到目标文件夹
cp $liblist ./$app_path/lib
}
function prepare_path() {
[ -n "$1" ] && rm -rf $1
mkdir -p $1
cd $1
}
function prepare_path_new() {
if [ ! -d $1 ];then
mkdir -p $1
fi
cd $1
}
#NX
function build(){
local path_build=$path_cur/build
prepare_path $path_build
if [ "$1" == $app_path ]; then
cmake -DCMAKE_BUILD_TYPE="Release" ..
else
cmake -DCMAKE_BUILD_TYPE="Debug" ..
fi
make -j4
local ret=$?
cd ..
return ${ret}
}
# build with different according to the parameter, default is A300
if [ "$1" == $app_path ]; then
echo "---------正式模式----------"
if [ ! -d $1 ];then
mkdir -p $1
mkdir -p $app_path/config $app_path/lib $app_path/model $app_path/collect
mkdir -p $app_path/result $app_path/tmp $app_path/videos
fi
build $1
echo "开始拷贝软件库文件..."
cpoyLibs
else
echo "---------调试模式----------"
if [ ! -d $1 ];then
mkdir -p $1
mkdir -p $app_path/config $app_path/lib $app_path/model
mkdir -p $app_path/result $app_path/tmp $app_path/videos
fi
build
fi
if [ $? -ne 0 ]; then
exit 1
fi
echo "开始拷贝配置文件..."
# 拷贝yaml文件和xml文件
cp -f ./*.yaml ./$app_path/config
echo "-----------successfully--------------"
exit 0