From d51999f11d7f6c1b30310a08cde7b12666e673ac Mon Sep 17 00:00:00 2001 From: Marcelo Fernandez Date: Mon, 29 Oct 2018 18:18:49 -0300 Subject: Export for OS X on OS X now lets you select .dmg or .zip --- platform/android/export/export.cpp | 6 ++++-- platform/iphone/export/export.cpp | 6 +++++- platform/javascript/export/export.cpp | 8 +++++--- platform/osx/export/export.cpp | 16 ++++++++++++---- platform/uwp/export/export.cpp | 6 ++++-- 5 files changed, 30 insertions(+), 12 deletions(-) (limited to 'platform') diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp index 3b503e2657..6232a91344 100644 --- a/platform/android/export/export.cpp +++ b/platform/android/export/export.cpp @@ -1386,8 +1386,10 @@ public: return valid; } - virtual String get_binary_extension(const Ref &p_preset) const { - return "apk"; + virtual List get_binary_extensions(const Ref &p_preset) const { + List list; + list.push_back("apk"); + return list; } virtual Error export_project(const Ref &p_preset, bool p_debug, const String &p_path, int p_flags = 0) { diff --git a/platform/iphone/export/export.cpp b/platform/iphone/export/export.cpp index 63bc4a519b..1fc497456c 100644 --- a/platform/iphone/export/export.cpp +++ b/platform/iphone/export/export.cpp @@ -108,7 +108,11 @@ public: virtual String get_os_name() const { return "iOS"; } virtual Ref get_logo() const { return logo; } - virtual String get_binary_extension(const Ref &p_preset) const { return "ipa"; } + virtual List get_binary_extensions(const Ref &p_preset) const { + List list; + list.push_back("ipa"); + return list; + } virtual Error export_project(const Ref &p_preset, bool p_debug, const String &p_path, int p_flags = 0); virtual bool can_export(const Ref &p_preset, String &r_error, bool &r_missing_templates) const; diff --git a/platform/javascript/export/export.cpp b/platform/javascript/export/export.cpp index 1e47d8db95..7a325e81dd 100644 --- a/platform/javascript/export/export.cpp +++ b/platform/javascript/export/export.cpp @@ -58,7 +58,7 @@ public: virtual Ref get_logo() const; virtual bool can_export(const Ref &p_preset, String &r_error, bool &r_missing_templates) const; - virtual String get_binary_extension(const Ref &p_preset) const; + virtual List get_binary_extensions(const Ref &p_preset) const; virtual Error export_project(const Ref &p_preset, bool p_debug, const String &p_path, int p_flags = 0); virtual bool poll_devices(); @@ -174,9 +174,11 @@ bool EditorExportPlatformJavaScript::can_export(const Ref &p return valid; } -String EditorExportPlatformJavaScript::get_binary_extension(const Ref &p_preset) const { +List EditorExportPlatformJavaScript::get_binary_extensions(const Ref &p_preset) const { - return "html"; + List list; + list.push_back("html"); + return list; } Error EditorExportPlatformJavaScript::export_project(const Ref &p_preset, bool p_debug, const String &p_path, int p_flags) { diff --git a/platform/osx/export/export.cpp b/platform/osx/export/export.cpp index 27b4fdc228..f27c042637 100644 --- a/platform/osx/export/export.cpp +++ b/platform/osx/export/export.cpp @@ -74,7 +74,14 @@ public: virtual String get_os_name() const { return "OSX"; } virtual Ref get_logo() const { return logo; } - virtual String get_binary_extension(const Ref &p_preset) const { return use_dmg() ? "dmg" : "zip"; } + virtual List get_binary_extensions(const Ref &p_preset) const { + List list; + if (use_dmg()) { + list.push_back("dmg"); + } + list.push_back("zip"); + return list; + } virtual Error export_project(const Ref &p_preset, bool p_debug, const String &p_path, int p_flags = 0); virtual bool can_export(const Ref &p_preset, String &r_error, bool &r_missing_templates) const; @@ -334,7 +341,8 @@ Error EditorExportPlatformOSX::export_project(const Ref &p_p io2.opaque = &dst_f; zipFile dst_pkg_zip = NULL; - if (use_dmg()) { + String export_format = use_dmg() && p_path.ends_with("dmg") ? "dmg" : "zip"; + if (export_format == "dmg") { // We're on OSX so we can export to DMG, but first we create our application bundle tmp_app_path_name = EditorSettings::get_singleton()->get_cache_dir().plus_file(pkg_name + ".app"); print_line("Exporting to " + tmp_app_path_name); @@ -429,7 +437,7 @@ Error EditorExportPlatformOSX::export_project(const Ref &p_p print_line("ADDING: " + file + " size: " + itos(data.size())); total_size += data.size(); - if (use_dmg()) { + if (export_format == "dmg") { // write it into our application bundle file = tmp_app_path_name + "/" + file; @@ -491,7 +499,7 @@ Error EditorExportPlatformOSX::export_project(const Ref &p_p if (err == OK) { ep.step("Making PKG", 1); - if (use_dmg()) { + if (export_format == "dmg") { String pack_path = tmp_app_path_name + "/Contents/Resources/" + pkg_name + ".pck"; Vector shared_objects; err = save_pack(p_preset, pack_path, &shared_objects); diff --git a/platform/uwp/export/export.cpp b/platform/uwp/export/export.cpp index 6a7284f770..41e59a5352 100644 --- a/platform/uwp/export/export.cpp +++ b/platform/uwp/export/export.cpp @@ -1021,8 +1021,10 @@ public: return "UWP"; } - virtual String get_binary_extension(const Ref &p_preset) const { - return "appx"; + virtual List get_binary_extensions(const Ref &p_preset) const { + List list; + list.push_back("appx"); + return list; } virtual Ref get_logo() const { -- cgit v1.2.3