Skip to content

Commit 70d7a77

Browse files
committed
Merge pull request #98653 from Repiteo/scons/pretty-builders
SCons: Make builders prettier, utilize `constexpr`
2 parents 754e3b3 + be429eb commit 70d7a77

File tree

21 files changed

+538
-751
lines changed

21 files changed

+538
-751
lines changed

SConstruct

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -968,8 +968,6 @@ if env.editor_build:
968968
print_error("Not all modules required by editor builds are enabled.")
969969
Exit(255)
970970

971-
env.version_info = methods.get_version_info(env.module_version_string)
972-
973971
env["PROGSUFFIX_WRAP"] = suffix + env.module_version_string + ".console" + env["PROGSUFFIX"]
974972
env["PROGSUFFIX"] = suffix + env.module_version_string + env["PROGSUFFIX"]
975973
env["OBJSUFFIX"] = suffix + env["OBJSUFFIX"]

core/SCsub

Lines changed: 17 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -167,10 +167,9 @@ env.add_source_files(env.core_sources, "*.cpp")
167167

168168
# Generate disabled classes
169169
def disabled_class_builder(target, source, env):
170-
with methods.generated_wrapper(target) as file:
170+
with methods.generated_wrapper(str(target[0])) as file:
171171
for c in source[0].read():
172-
cs = c.strip()
173-
if cs != "":
172+
if cs := c.strip():
174173
file.write(f"#define ClassDB_Disable_{cs} 1\n")
175174

176175

@@ -179,7 +178,7 @@ env.CommandNoCache("disabled_classes.gen.h", env.Value(env.disabled_classes), en
179178

180179
# Generate version info
181180
def version_info_builder(target, source, env):
182-
with methods.generated_wrapper(target) as file:
181+
with methods.generated_wrapper(str(target[0])) as file:
183182
file.write(
184183
"""\
185184
#define VERSION_SHORT_NAME "{short_name}"
@@ -193,35 +192,37 @@ def version_info_builder(target, source, env):
193192
#define VERSION_WEBSITE "{website}"
194193
#define VERSION_DOCS_BRANCH "{docs_branch}"
195194
#define VERSION_DOCS_URL "https://docs.godotengine.org/en/" VERSION_DOCS_BRANCH
196-
""".format(**env.version_info)
195+
""".format(**source[0].read())
197196
)
198197

199198

200-
env.CommandNoCache("version_generated.gen.h", env.Value(env.version_info), env.Run(version_info_builder))
199+
env.CommandNoCache(
200+
"version_generated.gen.h",
201+
env.Value(methods.get_version_info(env.module_version_string)),
202+
env.Run(version_info_builder),
203+
)
201204

202205

203206
# Generate version hash
204207
def version_hash_builder(target, source, env):
205-
with methods.generated_wrapper(target) as file:
208+
with methods.generated_wrapper(str(target[0])) as file:
206209
file.write(
207210
"""\
208211
#include "core/version.h"
209212
210213
const char *const VERSION_HASH = "{git_hash}";
211214
const uint64_t VERSION_TIMESTAMP = {git_timestamp};
212-
""".format(**env.version_info)
215+
""".format(**source[0].read())
213216
)
214217

215218

216-
gen_hash = env.CommandNoCache(
217-
"version_hash.gen.cpp", env.Value(env.version_info["git_hash"]), env.Run(version_hash_builder)
218-
)
219+
gen_hash = env.CommandNoCache("version_hash.gen.cpp", env.Value(methods.get_git_info()), env.Run(version_hash_builder))
219220
env.add_source_files(env.core_sources, gen_hash)
220221

221222

222223
# Generate AES256 script encryption key
223224
def encryption_key_builder(target, source, env):
224-
with methods.generated_wrapper(target) as file:
225+
with methods.generated_wrapper(str(target[0])) as file:
225226
file.write(
226227
f"""\
227228
#include "core/config/project_settings.h"
@@ -251,30 +252,21 @@ env.add_source_files(env.core_sources, gen_encrypt)
251252

252253

253254
# Certificates
254-
env.Depends(
255-
"#core/io/certs_compressed.gen.h",
256-
["#thirdparty/certs/ca-certificates.crt", env.Value(env["builtin_certs"]), env.Value(env["system_certs_path"])],
257-
)
258255
env.CommandNoCache(
259256
"#core/io/certs_compressed.gen.h",
260-
"#thirdparty/certs/ca-certificates.crt",
257+
["#thirdparty/certs/ca-certificates.crt", env.Value(env["builtin_certs"]), env.Value(env["system_certs_path"])],
261258
env.Run(core_builders.make_certs_header),
262259
)
263260

264261
# Authors
265-
env.Depends("#core/authors.gen.h", "../AUTHORS.md")
266-
env.CommandNoCache("#core/authors.gen.h", "../AUTHORS.md", env.Run(core_builders.make_authors_header))
262+
env.CommandNoCache("#core/authors.gen.h", "#AUTHORS.md", env.Run(core_builders.make_authors_header))
267263

268264
# Donors
269-
env.Depends("#core/donors.gen.h", "../DONORS.md")
270-
env.CommandNoCache("#core/donors.gen.h", "../DONORS.md", env.Run(core_builders.make_donors_header))
265+
env.CommandNoCache("#core/donors.gen.h", "#DONORS.md", env.Run(core_builders.make_donors_header))
271266

272267
# License
273-
env.Depends("#core/license.gen.h", ["../COPYRIGHT.txt", "../LICENSE.txt"])
274268
env.CommandNoCache(
275-
"#core/license.gen.h",
276-
["../COPYRIGHT.txt", "../LICENSE.txt"],
277-
env.Run(core_builders.make_license_header),
269+
"#core/license.gen.h", ["#COPYRIGHT.txt", "#LICENSE.txt"], env.Run(core_builders.make_license_header)
278270
)
279271

280272
# Chain load SCsubs

0 commit comments

Comments
 (0)