2011-12-14 6 views
4

ソースツリーにproto-protoファイルがあります。私は、すべての変更と最初の実行時にプロトファイルからソースファイルを生成したいと思います(たとえば、私は新しいプロトファイルを作成します)。次に、これらのソースファイルから共有ライブラリをコンパイルしてソースツリーに保存します。wafを使用して実行時に生成されたC++ソースファイルをコンパイルするには?

私の目標を達成する最良の方法は何ですか?

+0

を? –

+0

@Let_Me_Be:「プロジェクトマネージャー」とは何ですか? - Eclipse IDEとwafビルドシステムを使用します。 –

+0

ああ、私はwafがビルドシステムであることは知らなかった。 –

答えて

5

私が自分で解決策を発見した:あなたはどのようなプロジェクトマネージャを使用している

from waflib import Build, Utils, TaskGen 

def build(bld): 
    bld.post_mode = Build.POST_LAZY 

    # some bld(...) tasks that generate source files. 

    bld.shlib(source='main.cc', dynamic_source='**/*.cc', target='test') 

@TaskGen.feature('cxxshlib') 
@TaskGen.before('process_source') 
def dynamic_post(self): 
    if not getattr(self, 'dynamic_source', None): 
     return 
    self.source = Utils.to_list(self.source) 
    self.source.extend(self.path.get_bld().ant_glob(self.dynamic_source)) 
関連する問題