godot/modules/etcpak/SCsub
Rémi Verschelde 638cfec853
etcpak: We only need the compression code, remove rest of etcpak app
We do our own image loading, threading, and memory management in Godot already,
so the only components we need from etcpak (at least as of now) are the
`Compress*` methods defined in `ProcessDxtc.cpp` and `ProcessRGB.cpp`.

So we don't need to compile or vendor the rest.
2021-04-14 16:50:02 +02:00

37 lines
836 B
Python

#!/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 = [
"Dither.cpp",
"ProcessDxtc.cpp",
"ProcessRGB.cpp",
"Tables.cpp",
]
thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
env_etcpak.Prepend(CPPPATH=[thirdparty_dir])
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)