将额外参数传递给 Waf 脚本

Amm*_*ain 3 waf

我正在为我的项目使用 Waf 构建系统。我的项目中有一些依赖项,我并不总是希望链接和编译它们。我想知道是否有一种方法可以将额外的参数传递给 Waf 配置和 Waf 安装脚本,我可以在 wscript 中读取这些参数并确定是否需要编译某些可执行文件?

Amm*_*ain 5

我知道如何做到这一点。在 wscript 中,为选项创建一个函数。在大多数情况下,这个函数应该已经存在。

def options(opt):
  opt.add_option('-f', '--flag', dest='custom_flag', default=False, action='store_true',
             help='a boolean option')
Run Code Online (Sandbox Code Playgroud)

现在,在配置函数中,如果传递了此参数,您可以简单地检查“custom_flag”是否为 true。

def configure(conf)
  if (conf.options.custom_flag):
    #do something
  else:
    #do something else
Run Code Online (Sandbox Code Playgroud)

现在“./wafconfigure--flag”会将custom_flag设置为True。还可以传递其他非布尔类型参数