6a85cdf640
Implementation for new Variant types Callable, Signal, StringName. Added support for PackedInt64Array and PackedFloat64Array. Add generation of signal members as events, as well as support for user created signals as events. NOTE: As of now, raising such events will not emit the signal. As such, one must use `EmitSignal` instead of raising the event directly. Removed old ThreadLocal fallback class. It's safe to use thread_local now since it's supported on all minimum versions of compilers we support.
47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
#!/usr/bin/env python
|
|
|
|
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'?")
|
|
|
|
if env_mono['tools'] or env_mono['target'] != 'release':
|
|
env_mono.Append(CPPDEFINES=['GD_MONO_HOT_RELOAD'])
|
|
|
|
# Configure Mono
|
|
|
|
mono_configure.configure(env, env_mono)
|
|
|
|
if env_mono['tools'] and env_mono['mono_glue']:
|
|
# 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')
|
|
|
|
if env['tools']:
|
|
env_mono.add_source_files(env.modules_sources, 'editor/*.cpp')
|