纸箱包括在哪里

时间:2019-02-20 10:33:15

标签: waf

可以通过使用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=中获得其他包含。

如何让他们参加任务?

1 个答案:

答案 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')