[.NET Export] Improve .NET export process.

[macOS export] Fix incorrect file placement, search paths and architecture detection.
[macOS export] Automatically detect executable files and set +x flag.
[macOS export] Automatically apply "Disable Library Validation" entitlements when required.
[macOS export] Remove old Mono export code.
Fix folder tree creation for shared objects export.
Add arch suffix to the exported .NET "data" folder name.
Remove old Mono code from .NET "data" folder lookup.
This commit is contained in:
bruvzg 2022-10-05 20:31:07 +03:00
parent 58ca303141
commit 6daf4c6593
No known key found for this signature in database
GPG key ID: 7960FCF39844EC38
7 changed files with 156 additions and 266 deletions

View file

@ -144,6 +144,7 @@ public:
};
virtual Ref<EditorExportPreset> create_preset();
virtual bool is_executable(const String &p_path) const { return false; }
virtual void clear_messages() { messages.clear(); }
virtual void add_message(ExportMessageType p_type, const String &p_category, const String &p_message) {

View file

@ -185,10 +185,12 @@ Error EditorExportPlatformPC::export_project_data(const Ref<EditorExportPreset>
String src_path = ProjectSettings::get_singleton()->globalize_path(so_files[i].path);
String target_path;
if (so_files[i].target.is_empty()) {
target_path = p_path.get_base_dir().path_join(src_path.get_file());
target_path = p_path.get_base_dir();
} else {
target_path = p_path.get_base_dir().path_join(so_files[i].target).path_join(src_path.get_file());
target_path = p_path.get_base_dir().path_join(so_files[i].target);
da->make_dir_recursive(target_path);
}
target_path = target_path.path_join(src_path.get_file());
if (da->dir_exists(src_path)) {
err = da->make_dir_recursive(target_path);