diff options
author | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2022-10-14 13:18:25 +0300 |
---|---|---|
committer | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2022-10-31 14:37:49 +0200 |
commit | 9a33c97c2a1e46f79426fa091c271d273a458bb8 (patch) | |
tree | d6ac20322499722adabaebd9e92beca7f0311925 /editor/export | |
parent | 6a9317c9fc8f943586a8cbe6d0d6be6e356add28 (diff) |
Add console wrapper app to handle console i/o redirection on Windows.
Diffstat (limited to 'editor/export')
-rw-r--r-- | editor/export/editor_export_platform_pc.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/editor/export/editor_export_platform_pc.cpp b/editor/export/editor_export_platform_pc.cpp index c5b61e9b03..9de2f94900 100644 --- a/editor/export/editor_export_platform_pc.cpp +++ b/editor/export/editor_export_platform_pc.cpp @@ -146,9 +146,16 @@ Error EditorExportPlatformPC::prepare_template(const Ref<EditorExportPreset> &p_ return ERR_FILE_NOT_FOUND; } + String wrapper_template_path = template_path.get_basename() + "_console.exe"; + int con_wrapper_mode = p_preset->get("debug/export_console_script"); + bool copy_wrapper = (con_wrapper_mode == 1 && p_debug) || (con_wrapper_mode == 2); + Ref<DirAccess> 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) { add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Template"), TTR("Failed to copy export template.")); } |