当前位置:网站首页>利用shell脚本同时编译生成多个cmake工程
利用shell脚本同时编译生成多个cmake工程
2022-08-08 20:13:00 【RemoteDev】
#变量声明 $num 表示取传入的参数值 1 表示取传入的第一个表示数值
#${val} 表示取变量值 val表示变量名
args=$1 #$1表示第1个参数值
buildType="Debug" #生成模式
clean=false #清除生成缓存
#生成模式判断
if [ ${args}v = "release"v ];then #${args}v 取参数变量 v表示为变量
buildType="Release"
elif [ ${args}v = "clean"v ];then
clean=true
fi
#函数声明
build_proj(){
#循环遍历文件夹
for i in `ls -d */`; do
cd $i #进入文件夹
if ${clean};then #条件满足清空缓存
rm CMakeCache.txt #删除Cmake缓存文件
make clean #删除make缓存
else
#指定模式生成makefile
cmake -DCMAKE_BUILD_TYPE=${buildType} ./
#编译
make
fi
cd .. #退到上级目录
done #循环完成
}
#进入库目录
cd src/libs/
build_proj #调用build函数编译
#进入程序目录
cd ../apps/
build_proj #调用build函数编译
边栏推荐
猜你喜欢
Canvans:绘制饼图和玫瑰饼图
书法家唐效奇
曲面着色器初试--地面轨迹模拟(部分细节不完善)
JVM调优-JVM调优实践一
互联网技术从业者怎么解决系统高并发?
wps表格怎么复制粘贴后与原来格式一样?
wps表格怎么设置公式自动计算?wps表格设置公式自动计算的方法
什么是仿射函数?
odoo login layout adjustment
How can recommender systems be trusted?A review of the latest "Trusted Recommender System" from Rutgers University, a 43-page pdf explaining the composition and technology of trusted RS
随机推荐
LeetCode_2_两数相加
学习与尝试 --> 事件风暴
【无标题】
laravel run scheduler command on weekdays (except holidays)
PX4-Things you need to know for secondary development of flight control-Cxm
From interview to autism, five rounds of interviews for byte software testing post, four hours of soul torture...
音视频技术开发周刊 | 257
监控工具普罗米修斯(Prometheus)的介绍与安装
稀疏矩阵转置--C语言
JSD-2204-Session-Token-JWT-Day12
【分享】如何在集简云平台自己进行应用开发?
方舟综合指令代码大全系统综合
信号与系统【x(t)*h(t)=y(t) 求h(t)】附matlab代码
实践篇2:深度学习之----LetNet之tensorflow2的实现
接口测试经典面试题:Session、cookie、token有什么区别?
Codeforces Round #725 (Div. 3)
黑猫带你学Makefile第9篇:menuconfig/Kconfig/deconfig/.config及Makefile之间的关系
PyTorch入门:(五)模型的搭建
方舟基础物品指令代码大全
方舟开服务器教程——开服配置常见问题及解决方法