mirror of
https://github.com/godotengine/godot.git
synced 2024-12-21 10:25:24 +08:00
6e9bcc0f18
This replaces cryptic compilation errors with a clear error message and early build termination.
56 lines
1.5 KiB
Python
56 lines
1.5 KiB
Python
#!/usr/bin/env python
|
|
|
|
Import("env")
|
|
|
|
env.drivers_sources = []
|
|
supported = env.get("supported", [])
|
|
|
|
# OS drivers
|
|
SConscript("unix/SCsub")
|
|
SConscript("windows/SCsub")
|
|
|
|
# Sounds drivers
|
|
SConscript("alsa/SCsub")
|
|
SConscript("coreaudio/SCsub")
|
|
SConscript("pulseaudio/SCsub")
|
|
if env["platform"] == "windows":
|
|
SConscript("wasapi/SCsub")
|
|
if not env.msvc:
|
|
SConscript("backtrace/SCsub")
|
|
if env["xaudio2"]:
|
|
if "xaudio2" not in supported:
|
|
print("Target platform '{}' does not support the XAudio2 audio driver. Aborting.".format(env["platform"]))
|
|
Exit(255)
|
|
SConscript("xaudio2/SCsub")
|
|
|
|
# Midi drivers
|
|
SConscript("alsamidi/SCsub")
|
|
SConscript("coremidi/SCsub")
|
|
SConscript("winmidi/SCsub")
|
|
|
|
# Graphics drivers
|
|
if env["vulkan"]:
|
|
SConscript("vulkan/SCsub")
|
|
if env["d3d12"]:
|
|
if "d3d12" not in supported:
|
|
print("Target platform '{}' does not support the D3D12 rendering driver. Aborting.".format(env["platform"]))
|
|
Exit(255)
|
|
SConscript("d3d12/SCsub")
|
|
if env["opengl3"]:
|
|
SConscript("gl_context/SCsub")
|
|
SConscript("gles3/SCsub")
|
|
SConscript("egl/SCsub")
|
|
if env["metal"]:
|
|
if "metal" not in supported:
|
|
print("Target platform '{}' does not support the Metal rendering driver. Aborting.".format(env["platform"]))
|
|
Exit(255)
|
|
SConscript("metal/SCsub")
|
|
|
|
# Core dependencies
|
|
SConscript("png/SCsub")
|
|
|
|
env.add_source_files(env.drivers_sources, "*.cpp")
|
|
|
|
lib = env.add_library("drivers", env.drivers_sources)
|
|
env.Prepend(LIBS=[lib])
|