CMake:如何依赖于自定义目标的输出?

3
一个我无法修改的传统Make过程生成了一个目标,我必须对其进行一些后处理。我使用add_custom_target强制运行Makefile。我使用add_custom_command执行后处理步骤。问题在于,就CMake而言,add_custom_target不能产生输出。那么,如何为后处理步骤设置依赖关系?我不想在外部Make没有更新其目标时运行这些步骤。add_custom_command不能使用add_custom_target的名称作为DEPENDS。我尝试过这样做,但它会认为add_custom_target的名称只是一个文件,并且找不到它。
1个回答

3

使add_custom_command调用依赖于一个“文件”,当“外部make实际更新其目标”时,该文件会发生变化。仅当其中一个DEPENDS比其OUTPUT更新时,自定义命令才会运行。

CMake add_custom_command调用的DEPENDS最好是旧版本的CMake,在这些版本中它们是完全路径文件名引用。较新版本的CMake应该可以使用文件名或CMake目标名称引用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接