2

我正在尝试在多个项目中使用不同的模块(具有独立的 wscript 文件),以便可以在一个地方开发模块并可以在多个地方签出。

我有一个项目的顶级 wscript 是这样的:

def configure(cfg):
  ...
  cfg.recurse('a')
  cfg.recurse('b')
  ...

wscript 在来自子目录“ ./a ”和“ ./b ”的模块中:

def configure(cfg):
  ...
  cfg.check_cxx(lib='z')
  ...

那么,有没有办法告诉 waf 只检查一次 libz 呢?

4

1 回答 1

0

不,没有内置的东西可以做到这一点。我可以建议解决方法: - 如果 "LIB_Z" 不在 cfg.env 中,则获取您知道将由 check_cxx 定义的内容:cfg.check_cxx(...) - 或者添加 make check_cxx 定义某些内容 if cfg.get_define("HAVE_ZLIB" ) 不是无:cfg.check_cxx(lib='z', define_name="HAVE_ZLIB")

我怀疑任何缓存都可以在诸如 check_cxx 之类的方法中执行,它们可以做很多事情并且由关键字控制......

于 2011-11-19T05:49:50.303 回答