12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #!/usr/bin/env python
- import build_scripts.tls_configure as tls_configure
- import build_scripts.mono_configure as mono_configure
- Import("env")
- Import("env_modules")
- env_mono = env_modules.Clone()
- if env_mono["tools"]:
- # NOTE: It is safe to generate this file here, since this is still executed serially
- import build_scripts.gen_cs_glue_version as gen_cs_glue_version
- gen_cs_glue_version.generate_header("glue/GodotSharp", "glue/cs_glue_version.gen.h")
- # Glue sources
- if env_mono["mono_glue"]:
- env_mono.Append(CPPDEFINES=["MONO_GLUE_ENABLED"])
- import os.path
- if not os.path.isfile("glue/mono_glue.gen.cpp"):
- raise RuntimeError("Mono glue sources not found. Did you forget to run '--generate-mono-glue'?")
- # Configure Thread Local Storage
- conf = Configure(env_mono)
- tls_configure.configure(conf)
- env_mono = conf.Finish()
- # Configure Mono
- mono_configure.configure(env, env_mono)
- if env_mono["tools"] and env_mono["mono_glue"] and env_mono["build_cil"]:
- # Build Godot API solution
- import build_scripts.api_solution_build as api_solution_build
- api_sln_cmd = api_solution_build.build(env_mono)
- # Build GodotTools
- import build_scripts.godot_tools_build as godot_tools_build
- godot_tools_build.build(env_mono, api_sln_cmd)
- # Add sources
- env_mono.add_source_files(env.modules_sources, "*.cpp")
- env_mono.add_source_files(env.modules_sources, "glue/*.cpp")
- env_mono.add_source_files(env.modules_sources, "mono_gd/*.cpp")
- env_mono.add_source_files(env.modules_sources, "utils/*.cpp")
- env_mono.add_source_files(env.modules_sources, "mono_gd/support/*.cpp")
- if env["platform"] in ["osx", "iphone"]:
- env_mono.add_source_files(env.modules_sources, "mono_gd/support/*.mm")
- env_mono.add_source_files(env.modules_sources, "mono_gd/support/*.m")
- if env["tools"]:
- env_mono.add_source_files(env.modules_sources, "editor/*.cpp")
|