我正在使用
Vala,它首先编译为C,然后正常从C编译.
valac(Vala编译器)的一个特性是为.vala文件生成“fast-vapi”. fast-vapi本质上是.vala文件的生成头文件.快速vapis的意义在于它们允许增量构建.
因此,构建项目的简化命令序列如下所示:
valac --fast-vapi=source1.vapi source1.vala # generate source1.vapi valac --fast-vapi=source2.vapi source2.vala # generate source2.vapi valac -C --use-fast-vapi=source2.vapi source1.vapi # generate source1.c valac -C --use-fast-vapi=source1.vapi source2.vapi # generate source2.c
在编写source1.c的cmake依赖项时,一种方法是依赖于每个fast-vapi而不是它自己的.对于大型项目来说,这很快变得很麻烦,因为对其他.vapis的更改通常不会影响source1.vala.所以valac支持–deps标志:
valac -C --deps=source1.dep --use-fast-vapi=source2.vapi source1.vapi
这会在source1.dep中为source1.dep生成make-style依赖项.例如:
source1.dep: source2.vapi source5.vapi ...
如果我正在编写一个普通的Makefile,我可以简单地包含source1.dep.但是,我找不到任何类似的cmake结构.