diff --git a/editor/export/editor_export_platform_pc.cpp b/editor/export/editor_export_platform_pc.cpp index 7cd8cb9b2907..f583c0ec025d 100644 --- a/editor/export/editor_export_platform_pc.cpp +++ b/editor/export/editor_export_platform_pc.cpp @@ -151,15 +151,28 @@ Error EditorExportPlatformPC::prepare_template(const Ref &p_ return ERR_FILE_NOT_FOUND; } - String wrapper_template_path = template_path.get_basename() + "_console.exe"; + // Matching the extensions in platform/windows/console_wrapper_windows.cpp + static const char *const wrapper_extensions[] = { + ".console.exe", + "_console.exe", + " console.exe", + "console.exe", + nullptr, + }; int con_wrapper_mode = p_preset->get("debug/export_console_wrapper"); bool copy_wrapper = (con_wrapper_mode == 1 && p_debug) || (con_wrapper_mode == 2); Ref da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM); da->make_dir_recursive(p_path.get_base_dir()); Error err = da->copy(template_path, p_path, get_chmod_flags()); - if (err == OK && copy_wrapper && FileAccess::exists(wrapper_template_path)) { - err = da->copy(wrapper_template_path, p_path.get_basename() + ".console.exe", get_chmod_flags()); + if (err == OK && copy_wrapper) { + for (int i = 0; wrapper_extensions[i]; ++i) { + const String wrapper_path = template_path.get_basename() + wrapper_extensions[i]; + if (FileAccess::exists(wrapper_path)) { + err = da->copy(wrapper_path, p_path.get_basename() + ".console.exe", get_chmod_flags()); + break; + } + } } if (err != OK) { add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Template"), TTR("Failed to copy export template."));