summaryrefslogtreecommitdiff
path: root/modules/etcpak/SCsub
diff options
context:
space:
mode:
Diffstat (limited to 'modules/etcpak/SCsub')
-rw-r--r--modules/etcpak/SCsub52
1 files changed, 52 insertions, 0 deletions
diff --git a/modules/etcpak/SCsub b/modules/etcpak/SCsub
new file mode 100644
index 0000000000..821c6801b4
--- /dev/null
+++ b/modules/etcpak/SCsub
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+
+Import("env")
+Import("env_modules")
+
+env_etcpak = env_modules.Clone()
+
+# Thirdparty source files
+
+thirdparty_obj = []
+
+thirdparty_dir = "#thirdparty/etcpak/"
+thirdparty_sources = [
+ "Bitmap.cpp",
+ "BitmapDownsampled.cpp",
+ "BlockData.cpp",
+ "ColorSpace.cpp",
+ "DataProvider.cpp",
+ "Debug.cpp",
+ "Dither.cpp",
+ "Error.cpp",
+ "mmap.cpp",
+ "ProcessDxtc.cpp",
+ "ProcessRGB.cpp",
+ "System.cpp",
+ "Tables.cpp",
+ "TaskDispatch.cpp",
+ "Timing.cpp",
+ "lz4/lz4.c",
+]
+thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
+
+env_etcpak.Prepend(CPPPATH=[thirdparty_dir])
+
+# Also requires libpng headers
+if env["builtin_libpng"]:
+ env_etcpak.Prepend(CPPPATH=["#thirdparty/libpng"])
+
+env_thirdparty = env_etcpak.Clone()
+env_thirdparty.disable_warnings()
+env_thirdparty.add_source_files(thirdparty_obj, thirdparty_sources)
+env.modules_sources += thirdparty_obj
+
+# Godot source files
+
+module_obj = []
+
+env_etcpak.add_source_files(module_obj, "*.cpp")
+env.modules_sources += module_obj
+
+# Needed to force rebuilding the module files when the thirdparty library is updated.
+env.Depends(module_obj, thirdparty_obj)