mirror of
https://github.com/godotengine/godot
synced 2024-09-04 22:08:29 +00:00
[Windows] Support all possible suffixes for console wrapper
This commit is contained in:
parent
97b5c142f8
commit
07c73063e3
|
@ -151,15 +151,28 @@ Error EditorExportPlatformPC::prepare_template(const Ref<EditorExportPreset> &p_
|
||||||
return ERR_FILE_NOT_FOUND;
|
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");
|
int con_wrapper_mode = p_preset->get("debug/export_console_wrapper");
|
||||||
bool copy_wrapper = (con_wrapper_mode == 1 && p_debug) || (con_wrapper_mode == 2);
|
bool copy_wrapper = (con_wrapper_mode == 1 && p_debug) || (con_wrapper_mode == 2);
|
||||||
|
|
||||||
Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
|
Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM);
|
||||||
da->make_dir_recursive(p_path.get_base_dir());
|
da->make_dir_recursive(p_path.get_base_dir());
|
||||||
Error err = da->copy(template_path, p_path, get_chmod_flags());
|
Error err = da->copy(template_path, p_path, get_chmod_flags());
|
||||||
if (err == OK && copy_wrapper && FileAccess::exists(wrapper_template_path)) {
|
if (err == OK && copy_wrapper) {
|
||||||
err = da->copy(wrapper_template_path, p_path.get_basename() + ".console.exe", get_chmod_flags());
|
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) {
|
if (err != OK) {
|
||||||
add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Template"), TTR("Failed to copy export template."));
|
add_message(EXPORT_MESSAGE_ERROR, TTR("Prepare Template"), TTR("Failed to copy export template."));
|
||||||
|
|
Loading…
Reference in a new issue