我正在尝试使用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”项目之间设置依赖关系?我需要在“x64”完成后构建“x86”项目。
我刚刚发现设置手动依赖项的唯一方法是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')
我真的很感激任何帮助! :)
答案 0 :(得分:0)
我认为你必须在第一个目标之后添加它
ctx.add_group()