Scons - 仅在给出标志时调用命令

Scons - Invoking a command only when a flag is given

我制作了一个 Python 脚本,只要主二进制文件发生变化(使用 Requires),它就会 运行 出现,所以目前每次构建都会 运行 出现。但是,脚本在某些情况下可能会很耗时,我正在尝试弄清楚如何 运行 只有在给出标志的情况下才这样做。

例如,如果我键入 "scons -script",脚本将在主二进制文件编译后 运行,但键入 "scons" 只会构建文件,除此之外什么都不做。

我最终通过使用 AddOption() 来定义标志来解决它:

AddOption("--script", action="store_true", help="Run the script")

并编写一个使用 GetOption() 检查标志的方法并将脚本添加到要求中:

if GetOption("script"):
    script = Command(target=...,
                     source=...,
                     action=[...])
    Requires(script, binary_node)