From e56fdc8a9a7180a099f637c97d764a6b3ad2d2eb Mon Sep 17 00:00:00 2001 From: Andreia Gaita Date: Mon, 1 May 2023 22:53:23 +0200 Subject: [PATCH] Skip initializing the C# runtime when generating glue bindings The bindings generator doesn't require the C# runtime in order to generate the glue, and when it the glue generation runs, it exits immediately afterwards, so we can skip this initialization when the `--generate-mono-glue` flag is passed in. Fixes issue 75152 --- modules/mono/csharp_script.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/mono/csharp_script.cpp b/modules/mono/csharp_script.cpp index a77b1d83adc..02270399366 100644 --- a/modules/mono/csharp_script.cpp +++ b/modules/mono/csharp_script.cpp @@ -93,6 +93,12 @@ String CSharpLanguage::get_extension() const { } void CSharpLanguage::init() { +#ifdef TOOLS_ENABLED + if (OS::get_singleton()->get_cmdline_args().find("--generate-mono-glue")) { + print_verbose(".NET: Skipping runtime initialization because glue generation is enabled."); + return; + } +#endif #ifdef DEBUG_METHODS_ENABLED if (OS::get_singleton()->get_cmdline_args().find("--class-db-json")) { class_db_api_to_json("user://class_db_api.json", ClassDB::API_CORE);