我正在尝试创建一个Substfile
规则,该规则将扩展另一个文件的转换内容的键。我不清楚这里的设置,以确保源文件被注册为依赖项。
逻辑上我想要类似的东西:
out = env.Substfile( 'file.in', SUBST_DICT = {
'%SOME_CONTENT%': transform( readfile('depends.txt') ),
}
答案 0 :(得分:0)
我正在使用Action
和Command
的组合来做我想要的事情。我最终没有使用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") )