mirror of
https://github.com/godotengine/godot.git
synced 2026-01-03 18:11:19 +03:00
SCons: Refactor running commands through builders
A new `env.Run` method is added which allows to control the verbosity of builders output automatically depending on whether the "verbose" option is set. It also allows to optionally run any SCons commands in a subprocess using the existing `run_in_subprocess` method, unifying the interface. `Action` objects wrap all builder functions to include a short build message associated with any action. Notably, this removes quite verbose output generated by `make_doc_header` and `make_editor_icons_action` builders.
This commit is contained in:
13
main/SCsub
13
main/SCsub
@@ -2,7 +2,6 @@
|
||||
|
||||
Import("env")
|
||||
|
||||
from platform_methods import run_in_subprocess
|
||||
import main_builders
|
||||
|
||||
env.main_sources = []
|
||||
@@ -15,15 +14,21 @@ if env["tests"]:
|
||||
env_main.Append(CPPDEFINES=["TESTS_ENABLED"])
|
||||
|
||||
env_main.Depends("#main/splash.gen.h", "#main/splash.png")
|
||||
env_main.CommandNoCache("#main/splash.gen.h", "#main/splash.png", run_in_subprocess(main_builders.make_splash))
|
||||
env_main.CommandNoCache(
|
||||
"#main/splash.gen.h", "#main/splash.png", env.Run(main_builders.make_splash, "Building splash screen header."),
|
||||
)
|
||||
|
||||
env_main.Depends("#main/splash_editor.gen.h", "#main/splash_editor.png")
|
||||
env_main.CommandNoCache(
|
||||
"#main/splash_editor.gen.h", "#main/splash_editor.png", run_in_subprocess(main_builders.make_splash_editor)
|
||||
"#main/splash_editor.gen.h",
|
||||
"#main/splash_editor.png",
|
||||
env.Run(main_builders.make_splash_editor, "Building editor splash screen header."),
|
||||
)
|
||||
|
||||
env_main.Depends("#main/app_icon.gen.h", "#main/app_icon.png")
|
||||
env_main.CommandNoCache("#main/app_icon.gen.h", "#main/app_icon.png", run_in_subprocess(main_builders.make_app_icon))
|
||||
env_main.CommandNoCache(
|
||||
"#main/app_icon.gen.h", "#main/app_icon.png", env.Run(main_builders.make_app_icon, "Building application icon."),
|
||||
)
|
||||
|
||||
lib = env_main.add_library("main", env.main_sources)
|
||||
env.Prepend(LIBS=[lib])
|
||||
|
||||
Reference in New Issue
Block a user