#waf
#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')
Ответ №1:
Я не уверен, что понимаю вашу проблему. Если у вас есть что-то вроде:
# 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