CMake编译完成后调用tar打包可执行程序

        大家使用cmake编译完成后,一般需要拷贝出来,部署到其他设备。平时大家都是自己手动执行命令tar,但是对一个码农来说,能自动就绝不手动。不过遗憾的是自己搜索良久(可能自己搜索技巧不高),都没能找到合适的方案。自己花了大半天才解决,具体的方式如下:

PROJECT(ABC)

...

add_custom_target(
    ABC_Tar ALL
    DEPENDS ABC
    )
                    
add_custom_command(TARGET ABC_Tar POST_BUILD
                    COMMAND tar -zcvf ${OUTPUTDIR}/${PLATFROMSTR}/ABC.tar.gz -C ${OUTPUTDIR}/${PLATFROMSTR}/ ABC
                    )

有几个地方需要注意的:
1、“ABC”为原本的项目;

2、“add_custom_target”新建一个项目为“ABC_Tar”,名字可以随便命名;

3、“add_custom_target”参数中“DEPENDS ABC”非常重要,一定要设置这个依赖,否则会导致可执行文件还未生成,就执行了tar命令;

4、“add_custom_command”执行tar命令时,由于当前目录没有与被压缩目录同级,所以参数中带了绝对路径,要解决这个问题,需要在“${OUTPUTDIR}/${PLATFROMSTR}/ ABC”中间添加一个空格。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值