1
0
Fork 0
forked from len0rd/rockbox

themeeditor: Fix dmg deploy steps.

- Fix binary name in Info.plist.
- Run dmgbuild as Python module, in some cases it isn't available directly.
- Add missing dmgbuild configuration for themeeditor.

Change-Id: I2db50959b88283f43e2203cf71b130cdb33103dd
This commit is contained in:
Dominik Riebeling 2021-12-28 19:53:54 +01:00
parent 3d983ad3a1
commit bbd1056afb
3 changed files with 22 additions and 4 deletions

View file

@ -73,12 +73,13 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
message(WARNING "Deploying a Debug build.")
endif()
set(DMGBUILD ${CMAKE_BINARY_DIR}/venv/bin/dmgbuild)
set(DMGBUILD ${CMAKE_BINARY_DIR}/venv/bin/python3 -m dmgbuild)
set(DMGBUILD_STAMP ${CMAKE_BINARY_DIR}/dmgbuild.stamp)
find_program(MACDEPLOYQT_EXECUTABLE macdeployqt HINTS "${qtbindir}")
add_custom_command(
COMMENT "Setting up dmgbuild virtualenv"
OUTPUT ${DMGBUILD}
OUTPUT ${DMGBUILD_STAMP}
COMMAND python3 -m venv ${CMAKE_BINARY_DIR}/venv
COMMAND ${CMAKE_BINARY_DIR}/venv/bin/python -m pip install -q dmgbuild
)
@ -92,7 +93,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
-Dappbundle=${target}.app
${target} ${CMAKE_BINARY_DIR}/${target}.dmg
DEPENDS ${target}
${DMGBUILD}
${DMGBUILD_STAMP}
)
add_custom_target(deploy_${target}
DEPENDS ${CMAKE_BINARY_DIR}/${target}.dmg)

View file

@ -3,7 +3,7 @@
<plist version="0.9">
<dict>
<key>CFBundleExecutable</key>
<string>rbthemeeditor</string>
<string>RockboxThemeEditor</string>
<key>CFBundleName</key>
<string>Theme Editor</string>
<key>CFBundleShortVersionString</key>

View file

@ -0,0 +1,17 @@
# Configuration for creating a dmg with dmgbuild
# (https://github.com/al45tair/dmgbuild)
# Requires at least Python 3.4
import os
import plistlib
_appbundle = defines['appbundle']
_plfile = open(os.path.join(_appbundle, 'Contents/Info.plist'))
_pldata = _plfile.read().encode()
_plist = plistlib.loads(_pldata)
_iconfile = os.path.join(_appbundle, 'Contents/Resources', _plist['CFBundleIconFile'])
files = [ _appbundle ]
icon = _iconfile
background = '#c6d6f5'