Set icon for QEMU binary on Mac OS
Before switching the build system over to Meson, an icon was added to the QEMU binary on Mac OS. This patch adds back that feature; it piggybacks on the existing scripts/entitlement.sh, which already does in-place changes to the executable on Darwin. Signed-off-by: John Arbuckle <programmingkidx@gmail.com> Message-Id: <20210705195328.36442-1-programmingkidx@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
904806c69b
commit
3983a767e3
15
meson.build
15
meson.build
@ -2507,8 +2507,7 @@ foreach target : target_dirs
|
||||
endif
|
||||
foreach exe: execs
|
||||
exe_name = exe['name']
|
||||
exe_sign = 'CONFIG_HVF' in config_target
|
||||
if exe_sign
|
||||
if targetos == 'darwin'
|
||||
exe_name += '-unsigned'
|
||||
endif
|
||||
|
||||
@ -2522,7 +2521,13 @@ foreach target : target_dirs
|
||||
link_args: link_args,
|
||||
gui_app: exe['gui'])
|
||||
|
||||
if exe_sign
|
||||
if 'CONFIG_HVF' in config_target
|
||||
entitlements = meson.current_source_dir() / 'accel/hvf/entitlements.plist'
|
||||
else
|
||||
entitlements = '/dev/null'
|
||||
endif
|
||||
if targetos == 'darwin'
|
||||
icon = meson.current_source_dir() / 'pc-bios/qemu.rsrc'
|
||||
emulators += {exe['name'] : custom_target(exe['name'],
|
||||
depends: emulator,
|
||||
output: exe['name'],
|
||||
@ -2530,14 +2535,14 @@ foreach target : target_dirs
|
||||
meson.current_source_dir() / 'scripts/entitlement.sh',
|
||||
meson.current_build_dir() / exe_name,
|
||||
meson.current_build_dir() / exe['name'],
|
||||
meson.current_source_dir() / 'accel/hvf/entitlements.plist'
|
||||
entitlements, icon
|
||||
])
|
||||
}
|
||||
|
||||
meson.add_install_script('scripts/entitlement.sh', '--install',
|
||||
get_option('bindir') / exe_name,
|
||||
get_option('bindir') / exe['name'],
|
||||
meson.current_source_dir() / 'accel/hvf/entitlements.plist')
|
||||
entitlements, icon)
|
||||
else
|
||||
emulators += {exe['name']: emulator}
|
||||
endif
|
||||
|
@ -11,6 +11,7 @@ fi
|
||||
SRC="$1"
|
||||
DST="$2"
|
||||
ENTITLEMENT="$3"
|
||||
ICON="$4"
|
||||
|
||||
if $in_place; then
|
||||
trap 'rm "$DST.tmp"' exit
|
||||
@ -20,6 +21,13 @@ else
|
||||
cd "$MESON_INSTALL_DESTDIR_PREFIX"
|
||||
fi
|
||||
|
||||
codesign --entitlements "$ENTITLEMENT" --force -s - "$SRC"
|
||||
if test "$ENTITLEMENT" != '/dev/null'; then
|
||||
codesign --entitlements "$ENTITLEMENT" --force -s - "$SRC"
|
||||
fi
|
||||
|
||||
# Add the QEMU icon to the binary on Mac OS
|
||||
Rez -append "$ICON" -o "$SRC"
|
||||
SetFile -a C "$SRC"
|
||||
|
||||
mv -f "$SRC" "$DST"
|
||||
trap '' exit
|
||||
|
Loading…
Reference in New Issue
Block a user