2017-07-08 7 views
0

私はSubstfileルールを作成して、別のファイルの変換された内容に鍵を展開しようとしています。ソースファイルが依存関係として登録されていることを確認するために、ここでの設定は明確ではありません。私は私がやりたいActionCommandの組み合わせを使用していSconsとSubstfileを使ってテンプレートにファイルを埋め込む方法は?

out = env.Substfile('file.in', SUBST_DICT = { 
    '%SOME_CONTENT%': transform(readfile('depends.txt')), 
} 

答えて

0

論理的には私のような何かをしたいです。私はSubstfileを使用せずに終了しましたが、コマンドに連鎖する可能性があります。

このRawStringItアクションは、テキストファイルを読み込み、コンテンツのC++エンコードされた生の文字列を出力します。

def RawStringIt(varName): 
    def Impl(target, source, env): 
     content = source[0].get_text_contents() 
     with open(target[0].get_path(), 'w') as target_file: 
      target_file.write("std::string {} = R\"~~~~({})~~~~\";".format(varName,content)) 
     return 0 

    return Action(Impl, "creating C++ Raw String $TARGET from $SOURCE") 

base_leaf = env.Command('include/runner/base.leaf.hpp', '../share/base.leaf', RawStringIt("dataBaseLeaf")) 
関連する問題