4

scons のビルトイン ビルダーの多くには、関連するビルダーのデフォルト出力を変更するために使用される $*COMSTR 変数があります。オプションで $*COMSTR 変数を使用して、ビルド プロセスをより読みやすくすることができます。

コマンド ビルダーに $*COMSTR 変数を設定したいと考えています。

target = 'mydb.db3'

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

command = '@sqlite3 $TARGET < ' + populatesql

built_database = env.Command(target, sources, command)

コマンドの先頭に「@」文字を付けて出力を抑制できることがわかりましたが、Command ビルダーで $*COMSTR を使用する方法を見つけることができませんでした。ここでトリックがありませんか?

ありがとう。

4

1 に答える 1

6

コマンド文字列をビルダーに関連付けません。コマンド文字列は 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'))
于 2013-05-27T10:52:29.017 に答える