【发布时间】:2012-08-11 21:39:45
【问题描述】:
在 CMake 语义中,“目标”和“命令”之间存在某种区别,这让我感到困惑。在 Makefiles 中,没有这样的区别:
targetname:dependency
command
即目标对应生成的同名文件。
在 CMake 中,您有像“add_custom_command”和“add_custom_target”这样具有重叠功能的命令,甚至在官方文档中,语义也很混乱,即在“Mastering CMake,第 5 版”中,第 110 页的“添加自定义目标”下":
DEPENDS 参数设置自定义目标之间的依赖关系 和自定义命令。
我的理解是目标(生成的文件)具有依赖关系(其他文件,生成或不生成),以及实际执行生成的命令。说目标取决于命令是荒谬的。更糟糕的是,“add_custom_command”有两种风格,要么将附加命令附加到现有目标,要么将命令吐出到以太中。
有人可以解释为什么这种区别存在吗?
【问题讨论】:
标签: cmake