我有一个用于生成“缓存”文件的可执行文件。在CMake中,我有这样的东西:
add_executable(Generator ...)
add_custom_target(OUTPUT cache
DEPENDS Generator OtherDep1 OtherDep2
COMMAND Generator --input OtherDep1 OtherDep2 --output cache)
然而,因为它需要大约10分钟,并且我不关心当Generator
改变时cache
的不同,所以我不希望每当出于任何原因重新链接Generator
时重新计算cache
。但是如果我从依赖项中删除Generator
,当自定义命令需要它时,它可能不可用。
我知道这与通常的Make/CMake工作流程有一点不同,但是在运行自定义命令之前,我是否可以做一些事情来要求Generator
已经编译好?
1条答案
按热度按时间mwg9r5ms1#
我不希望
cache
在由于任何原因重新链接Generator
时重新计算。然后需要定义目标级依赖,而不是文件级依赖。目标级依赖关系通过
add_dependencies
命令定义: