Merge pull request #95498 from LeonardoDemartino/fix_macos_dylibsigning

macOS: Only set entitlements for main binaries, fixing C# signing issues
This commit is contained in:
Rémi Verschelde 2024-08-16 14:35:06 +02:00
commit de44c20514
No known key found for this signature in database
GPG Key ID: C3336907360768E1
1 changed files with 4 additions and 4 deletions

View File

@ -1092,7 +1092,7 @@ void EditorExportPlatformMacOS::_code_sign(const Ref<EditorExportPreset> &p_pres
List<String> args; List<String> args;
args.push_back("sign"); args.push_back("sign");
if (p_path.get_extension() != "dmg") { if (!p_ent_path.is_empty()) {
args.push_back("--entitlements-xml-path"); args.push_back("--entitlements-xml-path");
args.push_back(p_ent_path); args.push_back(p_ent_path);
} }
@ -1153,7 +1153,7 @@ void EditorExportPlatformMacOS::_code_sign(const Ref<EditorExportPreset> &p_pres
args.push_back("runtime"); args.push_back("runtime");
} }
if (p_path.get_extension() != "dmg") { if (!p_ent_path.is_empty()) {
args.push_back("--entitlements"); args.push_back("--entitlements");
args.push_back(p_ent_path); args.push_back(p_ent_path);
} }
@ -1237,7 +1237,7 @@ void EditorExportPlatformMacOS::_code_sign_directory(const Ref<EditorExportPrese
} }
if (extensions_to_sign.has(current_file.get_extension())) { if (extensions_to_sign.has(current_file.get_extension())) {
String ent_path = p_ent_path; String ent_path;
bool set_bundle_id = false; bool set_bundle_id = false;
if (sandbox && FileAccess::exists(current_file_path)) { if (sandbox && FileAccess::exists(current_file_path)) {
int ftype = MachO::get_filetype(current_file_path); int ftype = MachO::get_filetype(current_file_path);
@ -1357,7 +1357,7 @@ Error EditorExportPlatformMacOS::_copy_and_sign_files(Ref<DirAccess> &dir_access
_code_sign_directory(p_preset, p_in_app_path, p_ent_path, p_helper_ent_path, p_should_error_on_non_code_sign); _code_sign_directory(p_preset, p_in_app_path, p_ent_path, p_helper_ent_path, p_should_error_on_non_code_sign);
} else { } else {
if (extensions_to_sign.has(p_in_app_path.get_extension())) { if (extensions_to_sign.has(p_in_app_path.get_extension())) {
String ent_path = p_ent_path; String ent_path;
bool set_bundle_id = false; bool set_bundle_id = false;
if (p_sandbox && FileAccess::exists(p_in_app_path)) { if (p_sandbox && FileAccess::exists(p_in_app_path)) {
int ftype = MachO::get_filetype(p_in_app_path); int ftype = MachO::get_filetype(p_in_app_path);