scons中的许多内置生成器都有$ * COMSTR变量,这些变量用于更改其关联的生成器的默认输出。我们可以使用$ * COMSTR变量来使我们的构建过程更清晰易懂。我想为“命令”构建器设置一个$ * COMSTR变量。target = 'mydb.db3'populatesql = 'populate.sql'sources = [populatesql]command = '@sqlite3 $TARGET < ' + populatesqlbuilt_database = env.Command(target, sources, command)我发现我可以在命令前加上'@'字符来抑制输出,但是我一直无法发现如何在Command Builder中使用$ * COMSTR。我在这里错过了一个把戏吗?
1 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
您不要将命令字符串与构建器关联。命令字符串与一个Action对象相关联。
如果您想要命令字符串,只需编写如下内容:
built_database = env.Command(target, sources,
Action('mySqlite3', 'Generating $TARGET with sqlite3'))
或者,如果您想对其进行微调
env['SQLITE3COMSTR'] = 'Generating $TARGET from $SOURCES with sqlite3'
...
built_database = env.Command(target, sources, Action('mySqlite3', '$SQLITE3COMSTR'))
添加回答
举报
0/150
提交
取消