Make build artifact name configurable

This commit is contained in:
2026-03-14 17:59:40 -04:00
parent cbc5d1ef8b
commit 4fd41577f2
2 changed files with 57 additions and 5 deletions

View File

@@ -16,27 +16,31 @@ env = SConscript("redot-cpp/SConstruct")
env.Append(CPPPATH=["src/"])
sources = Glob("src/*.cpp")
import importlib
build_variables = importlib.import_module("build")
if env["platform"] == "macos":
library = env.SharedLibrary(
"demo/bin/libgdexample.{}.{}.framework/libgdexample.{}.{}".format(
env["platform"], env["target"], env["platform"], env["target"]
"demo/bin/lib{}.{}.{}.framework/lib{}.{}.{}".format(
build_variables.PROJECT_NAME, env["platform"], env["target"], env["platform"], env["target"]
),
source=sources,
)
elif env["platform"] == "ios":
if env["ios_simulator"]:
library = env.StaticLibrary(
"demo/bin/libgdexample.{}.{}.simulator.a".format(env["platform"], env["target"]),
"demo/bin/lib{}.{}.{}.simulator.a".format(build_variables.PROJECT_NAME, env["platform"], env["target"]),
source=sources,
)
else:
library = env.StaticLibrary(
"demo/bin/libgdexample.{}.{}.a".format(env["platform"], env["target"]),
"demo/bin/lib{}.{}.{}.a".format(build_variables.PROJECT_NAME, env["platform"], env["target"]),
source=sources,
)
else:
library = env.SharedLibrary(
"demo/bin/libgdexample{}{}".format(env["suffix"], env["SHLIBSUFFIX"]),
"demo/bin/lib{}{}{}".format(build_variables.PROJECT_NAME, env["suffix"], env["SHLIBSUFFIX"]),
source=sources,
)

48
build.py Normal file
View File

@@ -0,0 +1,48 @@
PROJECT_NAME = "gdextension_template"
if __name__ == "__main__":
gdextension_file_content = """
[configuration]
entry_symbol = "init_gdextension"
compatibility_minimum = "26.1"
reloadable = true
[libraries]
macos.debug = "res://bin/lib{0}.macos.template_debug.framework"
macos.release = "res://bin/lib{0}.macos.template_release.framework"
ios.debug = "res://bin/lib{0}.ios.template_debug.xcframework"
ios.release = "res://bin/lib{0}.ios.template_release.xcframework"
windows.debug.x86_32 = "res://bin/lib{0}.windows.template_debug.x86_32.dll"
windows.release.x86_32 = "res://bin/lib{0}.windows.template_release.x86_32.dll"
windows.debug.x86_64 = "res://bin/lib{0}.windows.template_debug.x86_64.dll"
windows.release.x86_64 = "res://bin/lib{0}.windows.template_release.x86_64.dll"
linux.debug.x86_64 = "res://bin/lib{0}.linux.template_debug.x86_64.so"
linux.release.x86_64 = "res://bin/lib{0}.linux.template_release.x86_64.so"
linux.debug.arm64 = "res://bin/lib{0}.linux.template_debug.arm64.so"
linux.release.arm64 = "res://bin/lib{0}.linux.template_release.arm64.so"
linux.debug.rv64 = "res://bin/lib{0}.linux.template_debug.rv64.so"
linux.release.rv64 = "res://bin/lib{0}.linux.template_release.rv64.so"
android.debug.x86_64 = "res://bin/lib{0}.android.template_debug.x86_64.so"
android.release.x86_64 = "res://bin/lib{0}.android.template_release.x86_64.so"
android.debug.arm64 = "res://bin/lib{0}.android.template_debug.arm64.so"
android.release.arm64 = "res://bin/lib{0}.android.template_release.arm64.so"
[dependencies]
ios.debug = {{
"res://bin/libgodot-cpp.ios.template_debug.xcframework": ""
}}
ios.release = {{
"res://bin/libgodot-cpp.ios.template_release.xcframework": ""
}}
""".format(PROJECT_NAME)
gdextension_file_path = "demo/template.gdextension"
with open(gdextension_file_path, "w") as gdextension_file:
gdextension_file.write(gdextension_file_content)