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)
我制作了一个 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)