diff options
| author | Rémi Verschelde | 2018-01-08 15:12:50 +0100 |
|---|---|---|
| committer | GitHub | 2018-01-08 15:12:50 +0100 |
| commit | 51709cd8c8791142b5a1e957902a5e9aed8cc7bb (patch) | |
| tree | 562efa2b80c557752d7da9cbde04d053faf63429 /platform/osx/export/export.cpp | |
| parent | 0edca99361b82ab60d10be260439b9789362cdda (diff) | |
| parent | cce6adfc5109eef17cda4d43214095253cf31744 (diff) | |
| download | godot-51709cd8c8791142b5a1e957902a5e9aed8cc7bb.tar.gz godot-51709cd8c8791142b5a1e957902a5e9aed8cc7bb.tar.zst godot-51709cd8c8791142b5a1e957902a5e9aed8cc7bb.zip | |
Diffstat (limited to 'platform/osx/export/export.cpp')
| -rw-r--r-- | platform/osx/export/export.cpp | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/platform/osx/export/export.cpp b/platform/osx/export/export.cpp index 23ca1e3fb..c4efa1f0f 100644 --- a/platform/osx/export/export.cpp +++ b/platform/osx/export/export.cpp @@ -359,6 +359,11 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p } if (err == OK) { + print_line("Creating " + tmp_app_path_name + "/Contents/Frameworks"); + err = tmp_app_path->make_dir_recursive(tmp_app_path_name + "/Contents/Frameworks"); + } + + if (err == OK) { print_line("Creating " + tmp_app_path_name + "/Contents/Resources"); err = tmp_app_path->make_dir_recursive(tmp_app_path_name + "/Contents/Resources"); } @@ -502,10 +507,23 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p if (use_dmg()) { String pack_path = tmp_app_path_name + "/Contents/Resources/" + pkg_name + ".pck"; - err = save_pack(p_preset, pack_path); + Vector<SharedObject> shared_objects; + Error err = save_pack(p_preset, pack_path, &shared_objects); // see if we can code sign our new package String identity = p_preset->get("codesign/identity"); + + if (err == OK) { + DirAccess *da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM); + for (int i = 0; i < shared_objects.size(); i++) { + da->copy(shared_objects[i].path, tmp_app_path_name + "/Contents/Frameworks/" + shared_objects[i].path.get_file()); + if (err == OK && identity != "") { + err = _code_sign(p_preset, tmp_app_path_name + "/Contents/Frameworks/" + shared_objects[i].path.get_file()); + } + } + memdelete(da); + } + if (err == OK && identity != "") { ep.step("Code signing bundle", 2); @@ -582,7 +600,7 @@ Error EditorExportPlatformOSX::export_project(const Ref<EditorExportPreset> &p_p ERR_CONTINUE(file.empty()); zipOpenNewFileInZip(dst_pkg_zip, - (pkg_name + ".app/Contents/MacOS/").plus_file(shared_objects[i].path.get_file()).utf8().get_data(), + (pkg_name + ".app/Contents/Frameworks/").plus_file(shared_objects[i].path.get_file()).utf8().get_data(), NULL, NULL, 0, |
