Я пытаюсь построить два проекта с помощью Waf + MSVC:
top = '.'
out = 'build'
def configure(conf):
conf.setenv('x86')
conf.env['MSVC_TARGETS'] = 'x86'
conf.load('compiler_cxx')
conf.setenv('x64')
conf.env['MSVC_TARGETS'] = 'x86_amd64'
conf.load('compiler_cxx')
def options(opt):
opt.load('compiler_cxx')
def build(ctx):
ctx.env = ctx.all_envs['x86']
ctx.program(source='x86.cpp', target='x86', name='x86')
ctx.env = ctx.all_envs['x64']
ctx.program(source='x64.cpp', target='x64', name='x64')
Как видите, я создаю 32-битные и 64-битные проекты, используя разные среды. Мой вопрос: как я могу установить зависимости между проектами "x64" и "x86"? Мне нужно, чтобы проект "x86" был построен после завершения "x64".
Я только что обнаружил, что единственный способ настроить ручную зависимость — это метод add_manual_dependency, но похоже, что вы можете использовать его только в пределах одной среды. Также было бы здорово узнать, как реализовать метод "use=['xxx']", который хорошо работает для статических библиотек, но не для моего случая. Есть ли возможность иметь автоматические зависимости таким образом? Например:
def build(ctx):
ctx.env = ctx.all_envs['x86']
ctx.program(source='x86.cpp', target='x86', name='x86', use='x64_from_x64_environment')
ctx.env = ctx.all_envs['x64']
ctx.program(source='x64.cpp', target='x64', name='x64')
Я был бы очень признателен за любую помощь! :)