如何在'scons'中为命令生成器指定COMSTR

rus*_*hki 4 python scons

scons中的许多内置构建器都有$*COMSTR变量,用于更改其关联的构建器的默认输出.我们可以使用$*COMSTR变量来选择性地使我们的构建过程更加清晰.

我想为命令构建器设置$*COMSTR变量.

target = 'mydb.db3'

populatesql = 'populate.sql'
sources = [populatesql]

command = '@sqlite3 $TARGET < ' + populatesql

built_database = env.Command(target, sources, command)
Run Code Online (Sandbox Code Playgroud)

我发现我可以在命令前加上'@'字符来抑制输出,但我一直无法发现如何在命令构建器中使用$*COMSTR.我在这里错过了一招吗?

谢谢.

Tom*_*ner 6

您不将命令字符串与构建器关联.命令字符串与Action对象相关联.

如果你想要一个命令字符串,只需写下这样的东西:

built_database = env.Command(target, sources, 
                             Action('mySqlite3', 'Generating $TARGET with sqlite3'))
Run Code Online (Sandbox Code Playgroud)

或者如果你想要更精细调整

env['SQLITE3COMSTR'] = 'Generating $TARGET from $SOURCES with sqlite3'
...
built_database = env.Command(target, sources, Action('mySqlite3', '$SQLITE3COMSTR'))
Run Code Online (Sandbox Code Playgroud)