mirror of
https://github.com/godotengine/godot.git
synced 2026-01-03 18:11:19 +03:00
Update export dialog to handle many architectures
This commit is contained in:
@@ -38,8 +38,6 @@ void register_linuxbsd_exporter() {
|
||||
platform.instantiate();
|
||||
platform->set_logo(ImageTexture::create_from_image(memnew(Image(_linuxbsd_logo))));
|
||||
platform->set_name("Linux/X11");
|
||||
platform->set_extension("x86_32");
|
||||
platform->set_extension("x86_64", "binary_format/64_bits");
|
||||
platform->set_os_name("Linux");
|
||||
platform->set_chmod_flags(0755);
|
||||
|
||||
|
||||
@@ -79,31 +79,21 @@ Error EditorExportPlatformLinuxBSD::export_project(const Ref<EditorExportPreset>
|
||||
return err;
|
||||
}
|
||||
|
||||
void EditorExportPlatformLinuxBSD::set_extension(const String &p_extension, const String &p_feature_key) {
|
||||
extensions[p_feature_key] = p_extension;
|
||||
}
|
||||
|
||||
String EditorExportPlatformLinuxBSD::get_template_file_name(const String &p_target, const String &p_arch) const {
|
||||
return "linux_" + p_target + "." + p_arch;
|
||||
}
|
||||
|
||||
List<String> EditorExportPlatformLinuxBSD::get_binary_extensions(const Ref<EditorExportPreset> &p_preset) const {
|
||||
List<String> list;
|
||||
for (const KeyValue<String, String> &E : extensions) {
|
||||
if (p_preset->get(E.key)) {
|
||||
list.push_back(extensions[E.key]);
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
||||
if (extensions.has("default")) {
|
||||
list.push_back(extensions["default"]);
|
||||
return list;
|
||||
}
|
||||
|
||||
list.push_back(p_preset->get("binary_format/architecture"));
|
||||
return list;
|
||||
}
|
||||
|
||||
void EditorExportPlatformLinuxBSD::get_export_options(List<ExportOption> *r_options) {
|
||||
EditorExportPlatformPC::get_export_options(r_options);
|
||||
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "binary_format/architecture", PROPERTY_HINT_ENUM, "x86_64,x86_32,arm64,arm32,rv64,ppc64,ppc32"), "x86_64"));
|
||||
}
|
||||
|
||||
Error EditorExportPlatformLinuxBSD::fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) {
|
||||
// Patch the header of the "pck" section in the ELF file so that it corresponds to the embedded data
|
||||
|
||||
|
||||
@@ -38,12 +38,12 @@
|
||||
#include "scene/resources/texture.h"
|
||||
|
||||
class EditorExportPlatformLinuxBSD : public EditorExportPlatformPC {
|
||||
HashMap<String, String> extensions;
|
||||
Error _export_debug_script(const Ref<EditorExportPreset> &p_preset, const String &p_app_name, const String &p_pkg_name, const String &p_path);
|
||||
|
||||
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 void get_export_options(List<ExportOption> *r_options) 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) override;
|
||||
|
||||
Reference in New Issue
Block a user