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:
parent
f93c04d8ef
commit
d86de6c98e
11 changed files with 97 additions and 51 deletions
21
editor/SCsub
21
editor/SCsub
|
|
@ -7,7 +7,6 @@ env.editor_sources = []
|
|||
import os
|
||||
import os.path
|
||||
import glob
|
||||
from platform_methods import run_in_subprocess
|
||||
import editor_builders
|
||||
|
||||
|
||||
|
|
@ -61,7 +60,11 @@ if env["tools"]:
|
|||
|
||||
docs = sorted(docs)
|
||||
env.Depends("#editor/doc_data_compressed.gen.h", docs)
|
||||
env.CommandNoCache("#editor/doc_data_compressed.gen.h", docs, run_in_subprocess(editor_builders.make_doc_header))
|
||||
env.CommandNoCache(
|
||||
"#editor/doc_data_compressed.gen.h",
|
||||
docs,
|
||||
env.Run(editor_builders.make_doc_header, "Generating documentation header."),
|
||||
)
|
||||
|
||||
path = env.Dir(".").abspath
|
||||
|
||||
|
|
@ -69,14 +72,18 @@ if env["tools"]:
|
|||
tlist = glob.glob(path + "/translations/*.po")
|
||||
env.Depends("#editor/editor_translations.gen.h", tlist)
|
||||
env.CommandNoCache(
|
||||
"#editor/editor_translations.gen.h", tlist, run_in_subprocess(editor_builders.make_editor_translations_header)
|
||||
"#editor/editor_translations.gen.h",
|
||||
tlist,
|
||||
env.Run(editor_builders.make_editor_translations_header, "Generating editor translations header."),
|
||||
)
|
||||
|
||||
# Documentation translations
|
||||
tlist = glob.glob(env.Dir("#doc").abspath + "/translations/*.po")
|
||||
env.Depends("#editor/doc_translations.gen.h", tlist)
|
||||
env.CommandNoCache(
|
||||
"#editor/doc_translations.gen.h", tlist, run_in_subprocess(editor_builders.make_doc_translations_header)
|
||||
"#editor/doc_translations.gen.h",
|
||||
tlist,
|
||||
env.Run(editor_builders.make_doc_translations_header, "Generating translations header."),
|
||||
)
|
||||
|
||||
# Fonts
|
||||
|
|
@ -84,7 +91,11 @@ if env["tools"]:
|
|||
flist.extend(glob.glob(path + "/../thirdparty/fonts/*.otf"))
|
||||
flist.sort()
|
||||
env.Depends("#editor/builtin_fonts.gen.h", flist)
|
||||
env.CommandNoCache("#editor/builtin_fonts.gen.h", flist, run_in_subprocess(editor_builders.make_fonts_header))
|
||||
env.CommandNoCache(
|
||||
"#editor/builtin_fonts.gen.h",
|
||||
flist,
|
||||
env.Run(editor_builders.make_fonts_header, "Generating builtin fonts header."),
|
||||
)
|
||||
|
||||
env.add_source_files(env.editor_sources, "*.cpp")
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue