CMake构建实战:项目开发卷
上QQ阅读APP看书,第一时间看更新

1.6.6 自定义构建规则

本章中可能并没有太多需要自定义构建规则的情况,但清理构建文件的clean可以算作其一。自定义构建规则是构建过程中的一个非常常见的需求,例如:

在构建完成后,复制一些数据文件到构建好的二进制目录中,以便调试运行可执行文件时在相对目录中加载这些数据文件;

通过一些命令执行外部脚本(如Python脚本),完成一些构建前的准备工作或构建后的扫尾工作;

清理构建文件等。

任何一个构建工具都应该支持执行自定义构建规则中的一系列命令。如果使用Makefile,实现自定义构建规则非常简单:只需在Makefile中定义新的构建目标,并将所要执行的命令罗列在其构建规则中。

另外,很多自定义构建规则都与特定的某个构建目标相关,如复制数据文件的例子就与加载这个数据文件的可执行文件构建目标相关。所以,自定义构建规则往往与构建目标绑定在一起。除此之外,绑定的自定义构建规则还应有不同的执行时机,如构建前和构建后。