cmake构建后处理事件

使用add_custom_command()函数

参考官方文档:https://cmake.org/cmake/help/v3.20/command/add_custom_command.html#command:add_custom_command

之前使用Visual Studio 2010时记得有在项目配置里写后处理事件的脚本,经常遇到权限问题,那时以为是Visual Studio 2010 特别地执行后处理,但其实cmake的函数非常丰富,自带这些需求。windows平台的软件开发真得不堪回首。。。

add_custom_command()函数增加自定义的构建规则到生成的构建系统(我理解就是生成的Makefile,集成了构建系统的参数以及这里增加的自定义的构建规则)。

有两个主要的签名:

1、第一个签名用来增加一个生成输出(文件)的自定义命令

自定义命令可被用来生成源文件。例如:

add_custom_command(
  OUTPUT out.c
  COMMAND someTool -i ${CMAKE_CURRENT_SOURCE_DIR}/in.txt
                   -o out.c
  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/in.txt
  VERBATIM)
add_library(myLib out.c)

这里增加了一个自定义命令,对生成的out.c执行somTool,然后编译生成的源文件为库的一部分。当in.txt发生改变时该生成规则将再次运行。

栗子,官网给出的Examples: Generation Files说自定义命令可被用来生成源文件。我最终尝试的结果是生成的源文件还必须参与构建目标则add_custom_co

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值