mirror of
https://github.com/godotengine/godot.git
synced 2024-11-26 22:23:04 +00:00
a5093d64ac
Whenever we change the name (or remove) generated cpp files with the `.gen.cpp`
extension, users run into build issues when switching between branches (i.e.
switching before and after the name change/removal). This is because we glob
`*.cpp` so if a now-obsolete file from a previous build is present, we'll
include it too, potentially leading to bugs or compilation failure (due to
missing headers or invalid code).
So globbing patterns in `add_source_files` will now skip files ending with
`.gen.cpp`, which should instead be passed explicitly where they're used.
(cherry picked from commit c133480531
)
39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
#!/usr/bin/env python
|
|
|
|
Import("env")
|
|
|
|
from platform_methods import run_in_subprocess
|
|
import main_builders
|
|
|
|
env.main_sources = []
|
|
|
|
env.add_source_files(env.main_sources, "*.cpp")
|
|
|
|
# Order matters here. Higher index controller database files write on top of lower index database files.
|
|
controller_databases = ["gamecontrollerdb.txt", "godotcontrollerdb.txt"]
|
|
|
|
gensource = env.CommandNoCache(
|
|
"default_controller_mappings.gen.cpp",
|
|
controller_databases,
|
|
run_in_subprocess(main_builders.make_default_controller_mappings),
|
|
)
|
|
|
|
env.add_source_files(env.main_sources, gensource)
|
|
|
|
env.Depends("#main/splash.gen.h", "#main/splash.png")
|
|
env.CommandNoCache("#main/splash.gen.h", "#main/splash.png", run_in_subprocess(main_builders.make_splash))
|
|
|
|
env.Depends("#main/splash_editor.gen.h", "#main/splash_editor.png")
|
|
env.CommandNoCache(
|
|
"#main/splash_editor.gen.h", "#main/splash_editor.png", run_in_subprocess(main_builders.make_splash_editor)
|
|
)
|
|
|
|
env.Depends("#main/app_icon.gen.h", "#main/app_icon.png")
|
|
env.CommandNoCache("#main/app_icon.gen.h", "#main/app_icon.png", run_in_subprocess(main_builders.make_app_icon))
|
|
|
|
if env["tools"]:
|
|
SConscript("tests/SCsub")
|
|
|
|
lib = env.add_library("main", env.main_sources)
|
|
env.Prepend(LIBS=[lib])
|