godot-cpp init.
This commit is contained in:
31
game-of-life-test/thirdparty/SConstruct
vendored
Normal file
31
game-of-life-test/thirdparty/SConstruct
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
import os
|
||||
from SCons.Script import DefaultEnvironment, ARGUMENTS, Glob, Dir
|
||||
|
||||
env = DefaultEnvironment()
|
||||
platform = ARGUMENTS.get("platform", "linux")
|
||||
target = ARGUMENTS.get("target", "template_debug") # or template_release
|
||||
arch = ARGUMENTS.get("arch", "x86_64")
|
||||
|
||||
HERE = Dir(".").abspath
|
||||
GODOTCPP = os.path.join(HERE, "godot-cpp")
|
||||
|
||||
inc_paths = [
|
||||
os.path.join(GODOTCPP, "include"),
|
||||
os.path.join(GODOTCPP, "gen", "include"),
|
||||
]
|
||||
for extra in ("godot-headers", "gdextension"):
|
||||
p = os.path.join(GODOTCPP, extra)
|
||||
if os.path.isdir(p):
|
||||
inc_paths.append(p)
|
||||
|
||||
env.Append(CPPPATH=inc_paths)
|
||||
env.Append(LIBPATH=[os.path.join(GODOTCPP, "bin")])
|
||||
env.Append(CXXFLAGS=["-std=c++17", "-fPIC"])
|
||||
|
||||
env.Append(LIBS=[f"godot-cpp.{platform}.{target}.{arch}"])
|
||||
|
||||
outdir = os.path.join(HERE, "bin")
|
||||
os.makedirs(outdir, exist_ok=True)
|
||||
soname = f"gol.{platform}.{'debug' if target == 'template_debug' else 'release'}.{arch}"
|
||||
|
||||
env.SharedLibrary(target=os.path.join(outdir, soname), source=Glob("src/*.cpp"))
|
||||
Reference in New Issue
Block a user