1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/usr/bin/env python
- import os
- import platform
- import sys
- import subprocess
- from binding_generator import scons_generate_bindings, scons_emit_files
- EnsureSConsVersion(4, 0)
- try:
- Import("env")
- except:
- # Default tools with no platform defaults to gnu toolchain.
- # We apply platform specific toolchains via our custom tools.
- env = Environment(tools=["default"], PLATFORM="")
- env.PrependENVPath("PATH", os.getenv("PATH"))
- # Custom options and profile flags.
- customs = ["custom.py"]
- try:
- customs += Import("customs")
- except:
- pass
- profile = ARGUMENTS.get("profile", "")
- if profile:
- if os.path.isfile(profile):
- customs.append(profile)
- elif os.path.isfile(profile + ".py"):
- customs.append(profile + ".py")
- opts = Variables(customs, ARGUMENTS)
- cpp_tool = Tool("godotcpp", toolpath=["tools"])
- cpp_tool.options(opts, env)
- opts.Update(env)
- Help(opts.GenerateHelpText(env))
- # Detect and print a warning listing unknown SCons variables to ease troubleshooting.
- unknown = opts.UnknownVariables()
- if unknown:
- print("WARNING: Unknown SCons variables were passed and will be ignored:")
- for item in unknown.items():
- print(" " + item[0] + "=" + item[1])
- scons_cache_path = os.environ.get("SCONS_CACHE")
- if scons_cache_path is not None:
- CacheDir(scons_cache_path)
- Decider("MD5")
- cpp_tool.generate(env)
- library = env.GodotCPP()
- Return("env")
|