可以通过使用bld.program
中的关键字参数includes=
为waf中的bld.program
提供附加的include目录。
def build(bld):
bld.program(source='main.c', target='app', includes='.')
现在,我需要在功能中获取此includes=
信息。我这样尝试过:
class _includes(Task.Task):
before = ['apply_link']
def run(self):
print(self.generator.bld.env.INCLUDES)
@TaskGen.feature('include_feature')
@TaskGen.before('apply_link')
def add_include_feature(self):
self.create_task('_includes')
但这仅返回在waf configure
期间设置的包含。但是我还需要从关键字参数includes=
中获得其他包含。
如何让他们参加任务?
答案 0 :(得分:1)
答案很简单,信息存储在includes
中:
class _includes(Task.Task):
before = ['apply_link']
def run(self):
print(self.generator.bld.env.INCLUDES)
print(self.generator.bld.env.includes)
@TaskGen.feature('include_feature')
@TaskGen.before('apply_link')
def add_include_feature(self):
self.create_task('_includes')