在以下情况下,如何最好使用WAF(https://waf.io/)?
model1.m + model2.m->代码生成器->许多.h和.cpp文件->编译
我当前的方法是创建一个支持以下功能的功能。
def build(bld):
bld.shlib(
features='cxx gen_messaging',
name="messages",
source='model1.m model2.m')
该功能基本上是从self.source获取模型文件,然后运行代码生成,最后将新的源添加到self.source。
我所缺少的是检测模型文件是否已更改。请给我建议。
答案 0 :(得分:0)
我想你做过类似https://waf.io/book/#_mixing_extensions_and_c_c_features的事情。这样,它应该可以工作。但是,正如您提到要一起处理模型的要求一样,我想您已经设计了一个特定的Task类。在这种情况下,您必须编写类似https://waf.io/book/#_custom_tasks的代码。重要的是在run()
和runnable_status()
方法中正确处理签名。