summaryrefslogtreecommitdiff
path: root/modules/svg/SCsub
diff options
context:
space:
mode:
Diffstat (limited to 'modules/svg/SCsub')
-rw-r--r--modules/svg/SCsub35
1 files changed, 35 insertions, 0 deletions
diff --git a/modules/svg/SCsub b/modules/svg/SCsub
new file mode 100644
index 0000000000..5be9367808
--- /dev/null
+++ b/modules/svg/SCsub
@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+
+Import('env')
+from compat import isbasestring
+
+# Thirdparty source files
+thirdparty_dir = "#thirdparty/nanosvg/"
+thirdparty_sources = [
+ "nanosvg.cc"
+]
+thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
+
+# env.add_source_files(env.modules_sources, thirdparty_sources)
+
+lib = env.Library("svg_builtin", thirdparty_sources)
+# Needs to be appended to arrive after libscene in the linker call,
+# but we don't want it to arrive *after* system libs, so manual hack
+# LIBS contains first SCons Library objects ("SCons.Node.FS.File object")
+# and then plain strings for system library. We insert between the two.
+inserted = False
+for idx, linklib in enumerate(env["LIBS"]):
+ if isbasestring(linklib): # first system lib such as "X11", otherwise SCons lib object
+ env["LIBS"].insert(idx, lib)
+ inserted = True
+ break
+if not inserted:
+ env.Append(LIBS=[lib])
+
+env.Append(CPPPATH=[thirdparty_dir])
+env.Append(CCFLAGS=["-DSVG_ENABLED"])
+
+# Godot's own source files
+env.add_source_files(env.modules_sources, "*.cpp")
+
+Export('env')