Generate export template file names instead of having a fixed set
This commit is contained in:
parent
a30d17fe23
commit
13392a96e9
8 changed files with 14 additions and 49 deletions
|
@ -1794,8 +1794,8 @@ bool EditorExportPlatformPC::can_export(const Ref<EditorExportPreset> &p_preset,
|
|||
// Look for export templates (first official, and if defined custom templates).
|
||||
|
||||
bool use64 = p_preset->get("binary_format/64_bits");
|
||||
bool dvalid = exists_export_template(use64 ? debug_file_64 : debug_file_32, &err);
|
||||
bool rvalid = exists_export_template(use64 ? release_file_64 : release_file_32, &err);
|
||||
bool dvalid = exists_export_template(get_template_file_name("debug", use64 ? "64" : "32"), &err);
|
||||
bool rvalid = exists_export_template(get_template_file_name("release", use64 ? "64" : "32"), &err);
|
||||
|
||||
if (p_preset->get("custom_template/debug") != "") {
|
||||
dvalid = FileAccess::exists(p_preset->get("custom_template/debug"));
|
||||
|
@ -1830,19 +1830,7 @@ Error EditorExportPlatformPC::export_project(const Ref<EditorExportPreset> &p_pr
|
|||
template_path = template_path.strip_edges();
|
||||
|
||||
if (template_path.is_empty()) {
|
||||
if (p_preset->get("binary_format/64_bits")) {
|
||||
if (p_debug) {
|
||||
template_path = find_export_template(debug_file_64);
|
||||
} else {
|
||||
template_path = find_export_template(release_file_64);
|
||||
}
|
||||
} else {
|
||||
if (p_debug) {
|
||||
template_path = find_export_template(debug_file_32);
|
||||
} else {
|
||||
template_path = find_export_template(release_file_32);
|
||||
}
|
||||
}
|
||||
template_path = find_export_template(get_template_file_name(p_debug ? "debug" : "release", p_preset->get("binary_format/64_bits") ? "64" : "32"));
|
||||
}
|
||||
|
||||
if (!template_path.is_empty() && !FileAccess::exists(template_path)) {
|
||||
|
@ -1922,22 +1910,6 @@ void EditorExportPlatformPC::set_logo(const Ref<Texture2D> &p_logo) {
|
|||
logo = p_logo;
|
||||
}
|
||||
|
||||
void EditorExportPlatformPC::set_release_64(const String &p_file) {
|
||||
release_file_64 = p_file;
|
||||
}
|
||||
|
||||
void EditorExportPlatformPC::set_release_32(const String &p_file) {
|
||||
release_file_32 = p_file;
|
||||
}
|
||||
|
||||
void EditorExportPlatformPC::set_debug_64(const String &p_file) {
|
||||
debug_file_64 = p_file;
|
||||
}
|
||||
|
||||
void EditorExportPlatformPC::set_debug_32(const String &p_file) {
|
||||
debug_file_32 = p_file;
|
||||
}
|
||||
|
||||
void EditorExportPlatformPC::get_platform_features(List<String> *r_features) {
|
||||
r_features->push_back("pc"); //all pcs support "pc"
|
||||
r_features->push_back("s3tc"); //all pcs support "s3tc" compression
|
||||
|
|
|
@ -426,11 +426,6 @@ private:
|
|||
String name;
|
||||
String os_name;
|
||||
|
||||
String release_file_32;
|
||||
String release_file_64;
|
||||
String debug_file_32;
|
||||
String debug_file_64;
|
||||
|
||||
int chmod_flags = -1;
|
||||
|
||||
public:
|
||||
|
@ -445,17 +440,13 @@ public:
|
|||
virtual bool can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const override;
|
||||
virtual Error export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0) override;
|
||||
virtual Error sign_shared_object(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path);
|
||||
virtual String get_template_file_name(const String &p_target, const String &p_arch) const = 0;
|
||||
|
||||
void set_name(const String &p_name);
|
||||
void set_os_name(const String &p_name);
|
||||
|
||||
void set_logo(const Ref<Texture2D> &p_logo);
|
||||
|
||||
void set_release_64(const String &p_file);
|
||||
void set_release_32(const String &p_file);
|
||||
void set_debug_64(const String &p_file);
|
||||
void set_debug_32(const String &p_file);
|
||||
|
||||
void add_platform_feature(const String &p_feature);
|
||||
virtual void get_platform_features(List<String> *r_features) override;
|
||||
virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, Set<String> &p_features) override;
|
||||
|
|
|
@ -44,10 +44,6 @@ void register_linuxbsd_exporter() {
|
|||
platform->set_name("Linux/X11");
|
||||
platform->set_extension("x86_32");
|
||||
platform->set_extension("x86_64", "binary_format/64_bits");
|
||||
platform->set_release_32("linux_x11_32_release");
|
||||
platform->set_debug_32("linux_x11_32_debug");
|
||||
platform->set_release_64("linux_x11_64_release");
|
||||
platform->set_debug_64("linux_x11_64_debug");
|
||||
platform->set_os_name("LinuxBSD");
|
||||
platform->set_chmod_flags(0755);
|
||||
|
||||
|
|
|
@ -77,6 +77,10 @@ void EditorExportPlatformLinuxBSD::set_extension(const String &p_extension, cons
|
|||
extensions[p_feature_key] = p_extension;
|
||||
}
|
||||
|
||||
String EditorExportPlatformLinuxBSD::get_template_file_name(const String &p_target, const String &p_arch) const {
|
||||
return "linux_x11_" + p_arch + "_" + p_target;
|
||||
}
|
||||
|
||||
List<String> EditorExportPlatformLinuxBSD::get_binary_extensions(const Ref<EditorExportPreset> &p_preset) const {
|
||||
List<String> list;
|
||||
for (const KeyValue<String, String> &E : extensions) {
|
||||
|
|
|
@ -45,6 +45,7 @@ public:
|
|||
void set_extension(const String &p_extension, const String &p_feature_key = "default");
|
||||
virtual List<String> get_binary_extensions(const Ref<EditorExportPreset> &p_preset) const override;
|
||||
virtual Error export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0) override;
|
||||
virtual String get_template_file_name(const String &p_target, const String &p_arch) const override;
|
||||
virtual Error fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) const override;
|
||||
};
|
||||
|
||||
|
|
|
@ -55,10 +55,6 @@ void register_windows_exporter() {
|
|||
logo->create_from_image(img);
|
||||
platform->set_logo(logo);
|
||||
platform->set_name("Windows Desktop");
|
||||
platform->set_release_32("windows_32_release.exe");
|
||||
platform->set_debug_32("windows_32_debug.exe");
|
||||
platform->set_release_64("windows_64_release.exe");
|
||||
platform->set_debug_64("windows_64_debug.exe");
|
||||
platform->set_os_name("Windows");
|
||||
|
||||
EditorExport::get_singleton()->add_export_platform(platform);
|
||||
|
|
|
@ -86,6 +86,10 @@ Error EditorExportPlatformWindows::export_project(const Ref<EditorExportPreset>
|
|||
return err;
|
||||
}
|
||||
|
||||
String EditorExportPlatformWindows::get_template_file_name(const String &p_target, const String &p_arch) const {
|
||||
return "windows_" + p_arch + "_" + p_target + ".exe";
|
||||
}
|
||||
|
||||
List<String> EditorExportPlatformWindows::get_binary_extensions(const Ref<EditorExportPreset> &p_preset) const {
|
||||
List<String> list;
|
||||
list.push_back("exe");
|
||||
|
|
|
@ -49,6 +49,7 @@ public:
|
|||
virtual void get_export_options(List<ExportOption> *r_options) override;
|
||||
virtual bool get_export_option_visibility(const String &p_option, const Map<StringName, Variant> &p_options) const override;
|
||||
virtual bool can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const override;
|
||||
virtual String get_template_file_name(const String &p_target, const String &p_arch) const override;
|
||||
virtual Error fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) const override;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue