47 lines
1.6 KiB
Python
47 lines
1.6 KiB
Python
#!/usr/bin/env python
|
|
|
|
env = SConscript("../SConstruct")
|
|
|
|
# For the reference:
|
|
# - CCFLAGS are compilation flags shared between C and C++
|
|
# - CFLAGS are for C-specific compilation flags
|
|
# - CXXFLAGS are for C++-specific compilation flags
|
|
# - CPPFLAGS are for pre-processor flags
|
|
# - CPPDEFINES are for pre-processor defines
|
|
# - LINKFLAGS are for linking flags
|
|
|
|
# tweak this if you want to use different folders, or more folders, to store your source code in.
|
|
env.Append(CPPPATH=["src/"])
|
|
sources = Glob("src/*.cpp")
|
|
|
|
if env["target"] in ["editor", "template_debug"]:
|
|
doc_data = env.GodotCPPDocData("src/gen/doc_data.gen.cpp", source=Glob("doc_classes/*.xml"))
|
|
sources.append(doc_data)
|
|
|
|
library_targets = env.SharedLibrary(
|
|
"project/bin/libgdexample{}{}".format(env["suffix"], env["SHLIBSUFFIX"]),
|
|
source=sources,
|
|
)
|
|
|
|
if env["platform"] == "macos" or env["platform"] == "ios":
|
|
# The app store requires signed .framework bundles for dependencies.
|
|
# We do not sign the test framework bundles, but for consistency
|
|
# (and testing) we will always generate the .framework anyway.
|
|
framework_tool = Tool("apple_framework", toolpath=["../tools"])
|
|
|
|
framework_name = f"gdexample.{env['platform']}.{env['target']}"
|
|
library_targets = framework_tool.generate(
|
|
f"project/bin/{framework_name}.framework",
|
|
env=env,
|
|
source=library_targets,
|
|
plist_entries=dict(
|
|
CFBundleIdentifier=f"org.godotengine.{framework_name}",
|
|
)
|
|
)
|
|
|
|
# Keep the final build intact for as long as possible.
|
|
env.Precious(library_targets)
|
|
|
|
env.NoCache(library_targets)
|
|
Default(library_targets)
|