SCsub 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/usr/bin/env python
  2. Import("env")
  3. Import("env_modules")
  4. env_basisu = env_modules.Clone()
  5. # Thirdparty source files
  6. # Not unbundled so far since not widespread as shared library
  7. thirdparty_dir = "#thirdparty/basis_universal/"
  8. tool_sources = [
  9. "basisu_astc_decomp.cpp",
  10. "basisu_backend.cpp",
  11. "basisu_basis_file.cpp",
  12. "basisu_comp.cpp",
  13. "basisu_enc.cpp",
  14. "basisu_etc.cpp",
  15. "basisu_frontend.cpp",
  16. "basisu_global_selector_palette_helpers.cpp",
  17. "basisu_gpu_texture.cpp",
  18. "basisu_pvrtc1_4.cpp",
  19. "basisu_resample_filters.cpp",
  20. "basisu_resampler.cpp",
  21. "basisu_ssim.cpp",
  22. "lodepng.cpp",
  23. ]
  24. tool_sources = [thirdparty_dir + file for file in tool_sources]
  25. transcoder_sources = [thirdparty_dir + "transcoder/basisu_transcoder.cpp"]
  26. # Treat Basis headers as system headers to avoid raising warnings. Not supported on MSVC.
  27. if not env.msvc:
  28. env_basisu.Append(
  29. CPPFLAGS=["-isystem", Dir(thirdparty_dir).path, "-isystem", Dir(thirdparty_dir + "transcoder").path]
  30. )
  31. else:
  32. env_basisu.Prepend(CPPPATH=[thirdparty_dir, thirdparty_dir + "transcoder"])
  33. if env["target"] == "debug":
  34. env_basisu.Append(CPPFLAGS=["-DBASISU_DEVEL_MESSAGES=1", "-DBASISD_ENABLE_DEBUG_FLAGS=1"])
  35. env_thirdparty = env_basisu.Clone()
  36. env_thirdparty.disable_warnings()
  37. if env["tools"]:
  38. env_thirdparty.add_source_files(env.modules_sources, tool_sources)
  39. env_thirdparty.add_source_files(env.modules_sources, transcoder_sources)
  40. # Godot source files
  41. env_basisu.add_source_files(env.modules_sources, "*.cpp")