2016-08-29 9 views
2

私は最近、この単純なWAFビルドスクリプトを書いた:別のディレクトリに出力溶液にWAFを取得

#! /usr/bin/env python 
# encoding: utf-8 

def options(opt): 
    opt.load('compiler_cxx') 
    opt.load('msvs') 

def configure(conf): 
    conf.load('compiler_cxx') 

def build(bld): 
    print('build') 

をが、問題はoutputedソリューションファイルは、(のWScriptがある)プロジェクトのルートにあることです。

Project Structure after running waf

は、別のディレクトリ(たとえば、IDE/MSVS)にIDE特定のファイルを生成する方法があるでしょうか?

+0

はあなたのWAFスクリプトの先頭に 'アウト= "私の/アウト/ DIRを"'設定しようとしたことがありますか?これはあなたの問題を解決するはずです。 https://waf.io/book/#_build_related_commands – user69453

+0

ありがとうございます。私は時間があるときにそれを試してみます。今のところ、私はフラストレーションから心配しました。あなたは大規模プロジェクトのためのwaf経験がありますか? – Coder32

+0

私は大きなプロジェクトの一つに 'waf'を使っています。ツールチェーンは急速に成長しましたが、現時点ではかなり強力ですが、比較的複雑です。私が何らかの 'make 'を使っていた方が良いかどうか分かりません。私は、問題を解決するので、私のコメントを答えにします。 – user69453

答えて

1

あなたはtop_dirhttps://waf.io/apidocs/Context.html?highlight=top_dir#waflib.Context.top_dir)に対するものである

out = os.path.join('my', 'out', 'dir') 

を用いて溶液の出力をリダイレクトすることができます。あなたのケースではそう

#! /usr/bin/env python 
# encoding: utf-8 
import os 

out = os.path.join('my', 'out', 'dir') 

def options(opt): 
    opt.load('compiler_cxx') 
    opt.load('msvs') 

def configure(conf): 
    conf.load('compiler_cxx') 

def build(bld): 
    print('build') 
+0

答えをありがとう! – Coder32

+0

私はコードをテストしました。 wscriptがどこにあるのかは解ファイル(.sln)がまだ生成されています... – Coder32

+0

'out'は' top_dir'に相対的です。 'out'ディレクトリ、つまりビルドプロセスの出力が置かれているディレクトリを' top_dir'の外側に置いて、 'out'ディレクトリを' out = os.path.join( '.. '、' my '、' out '、' dir '、' outside '、' of '、' top_dir ') ' – user69453

関連する問題