如何解决带有集成区域的 waf 多项目设置
我有一个文件夹 IntegrationArea
和一个项目 main
,由 2 个子项目 a
和 b
组成,如下所示:
IntegrationArea
main
|
a
|
wscript
|
b
|
wscript
|
wscript
在 waf build
中运行 main/a
会在 a/build
中构建工件。从 waf install
运行 main/a
会将 a/build
中的工件安装到 IntegrationArea
。因此,在构建之后,工件可用于构建 main/b
。
如何编写 main/wscript
以便从 waf build
运行 main
会产生以下结果:
cd a; waf build; waf install
cd ../b; waf build; waf install
我需要 main/wscript
来包含类似的内容
bld.cmd=('build install')
bld.recurse('a b')
解决方法
我不确定我是否理解您的问题。如果你有类似的东西:
# wscript in main
def build(bld):
bld.recurse(["a","b"])
与:
# wscript in a
def build(bld):
bld(rule = touch,target = "a")
bld.install_files("../integration","a")
def touch(task):
task.outputs[0].write("done a")
还有:
# wscript in b
def build(bld):
bld(rule = touch,target = "b")
bld.install_files("../integration","b")
def touch(task):
task.outputs[0].write("done b")
您可以直接转到主目录并开始安装:
cd ~/main
waf install
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。