forked from Sara.Sync/godot-cpp-template
Merge pull request #15 from adamscott/copy-bin-to-projectdir
commit
843b2258a0
|
@ -3,6 +3,18 @@
|
||||||
|
|
||||||
# Ignore library files but not the gdextension file
|
# Ignore library files but not the gdextension file
|
||||||
demo/bin/*
|
demo/bin/*
|
||||||
|
!demo/bin/android
|
||||||
|
demo/bin/android/*
|
||||||
|
!demo/bin/android/.gitkeep
|
||||||
|
!demo/bin/linux
|
||||||
|
demo/bin/linux/*
|
||||||
|
!demo/bin/linux/.gitkeep
|
||||||
|
!demo/bin/macos
|
||||||
|
demo/bin/macos/*
|
||||||
|
!demo/bin/macos/.gitkeep
|
||||||
|
!demo/bin/windows
|
||||||
|
demo/bin/windows/*
|
||||||
|
!demo/bin/windows/.gitkeep
|
||||||
!demo/bin/*.gdextension
|
!demo/bin/*.gdextension
|
||||||
.sconsign*.dblite
|
.sconsign*.dblite
|
||||||
|
|
||||||
|
|
26
SConstruct
26
SConstruct
|
@ -12,6 +12,7 @@ def validate_parent_dir(key, val, env):
|
||||||
|
|
||||||
|
|
||||||
libname = "EXTENSION-NAME"
|
libname = "EXTENSION-NAME"
|
||||||
|
projectdir = "demo"
|
||||||
|
|
||||||
localEnv = Environment(tools=["default"], PLATFORM="")
|
localEnv = Environment(tools=["default"], PLATFORM="")
|
||||||
|
|
||||||
|
@ -52,19 +53,30 @@ env = SConscript("godot-cpp/SConstruct", {"env": env, "customs": customs})
|
||||||
env.Append(CPPPATH=["src/"])
|
env.Append(CPPPATH=["src/"])
|
||||||
sources = Glob("src/*.cpp")
|
sources = Glob("src/*.cpp")
|
||||||
|
|
||||||
|
file = "{}{}{}".format(libname, env["suffix"], env["SHLIBSUFFIX"])
|
||||||
|
|
||||||
if env["platform"] == "macos":
|
if env["platform"] == "macos":
|
||||||
platlibname = "{}.{}.{}".format(libname, env["platform"], env["target"])
|
platlibname = "{}.{}.{}".format(libname, env["platform"], env["target"])
|
||||||
|
file = "{}.framework/{}".format(env["platform"], platlibname, platlibname)
|
||||||
|
|
||||||
|
libraryfile = "bin/{}/{}".format(env["platform"], file)
|
||||||
library = env.SharedLibrary(
|
library = env.SharedLibrary(
|
||||||
"bin/{}.framework/{}".format(platlibname, platlibname),
|
libraryfile,
|
||||||
source=sources,
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
library = env.SharedLibrary(
|
|
||||||
"bin/{}{}{}".format(libname, env["suffix"], env["SHLIBSUFFIX"]),
|
|
||||||
source=sources,
|
source=sources,
|
||||||
)
|
)
|
||||||
|
|
||||||
default_args = [library]
|
|
||||||
|
def copy_bin_to_projectdir(target, source, env):
|
||||||
|
import shutil
|
||||||
|
|
||||||
|
targetfrom = "bin/{}/lib{}".format(env["platform"], file)
|
||||||
|
targetdest = "{}/bin/{}/lib{}".format(projectdir, env["platform"], file)
|
||||||
|
shutil.copyfile(targetfrom, targetdest)
|
||||||
|
|
||||||
|
|
||||||
|
copy = env.Command(libraryfile, None, copy_bin_to_projectdir)
|
||||||
|
|
||||||
|
default_args = [library, copy]
|
||||||
if localEnv.get("compiledb", False):
|
if localEnv.get("compiledb", False):
|
||||||
default_args += [compilation_db]
|
default_args += [compilation_db]
|
||||||
Default(*default_args)
|
Default(*default_args)
|
||||||
|
|
Loading…
Reference in New Issue