forked from Sara.Sync/godot-cpp-template
Copy generated library to the projectdir
parent
055ab32bc6
commit
54a177ce39
|
@ -3,6 +3,18 @@
|
|||
|
||||
# Ignore library files but not the gdextension file
|
||||
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
|
||||
.sconsign*.dblite
|
||||
|
||||
|
|
26
SConstruct
26
SConstruct
|
@ -12,6 +12,7 @@ def validate_parent_dir(key, val, env):
|
|||
|
||||
|
||||
libname = "EXTENSION-NAME"
|
||||
projectdir = "demo"
|
||||
|
||||
localEnv = Environment(tools=["default"], PLATFORM="")
|
||||
|
||||
|
@ -52,19 +53,30 @@ env = SConscript("godot-cpp/SConstruct", {"env": env, "customs": customs})
|
|||
env.Append(CPPPATH=["src/"])
|
||||
sources = Glob("src/*.cpp")
|
||||
|
||||
file = "{}{}{}".format(libname, env["suffix"], env["SHLIBSUFFIX"])
|
||||
|
||||
if env["platform"] == "macos":
|
||||
platlibname = "{}.{}.{}".format(libname, env["platform"], env["target"])
|
||||
file = "{}.framework/{}".format(env["platform"], platlibname, platlibname)
|
||||
|
||||
libraryfile = "bin/{}/{}".format(env["platform"], file)
|
||||
library = env.SharedLibrary(
|
||||
"bin/{}.framework/{}".format(platlibname, platlibname),
|
||||
source=sources,
|
||||
)
|
||||
else:
|
||||
library = env.SharedLibrary(
|
||||
"bin/{}{}{}".format(libname, env["suffix"], env["SHLIBSUFFIX"]),
|
||||
libraryfile,
|
||||
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):
|
||||
default_args += [compilation_db]
|
||||
Default(*default_args)
|
||||
|
|
Loading…
Reference in New Issue