godot-cpp/test/SConstruct

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)