Build/packaging: Support macOS package/DMG signing
This commit is contained in:
@@ -145,6 +145,11 @@ set(DEFAULT_IOS_ARMV8_BUILD ${CMAKE_SOURCE_DIR}/iosarmv8)
|
||||
set(IOS_ARMV8_BUILD ${DEFAULT_IOS_ARMV8_BUILD} CACHE PATH
|
||||
"Directory containing ARMv8 iOS build to include in universal binaries (default: ${DEFAULT_IOS_ARMV8_BUILD})")
|
||||
|
||||
set(OSX_APP_CERT_NAME "" CACHE STRING
|
||||
"Name of the Developer ID Application certificate (in the macOS keychain) that should be used to sign the libjpeg-turbo DMG. Leave this blank to generate an unsigned DMG.")
|
||||
set(OSX_INST_CERT_NAME "" CACHE STRING
|
||||
"Name of the Developer ID Installer certificate (in the macOS keychain) that should be used to sign the libjpeg-turbo installer package. Leave this blank to generate an unsigned package.")
|
||||
|
||||
configure_file(release/makemacpkg.in pkgscripts/makemacpkg)
|
||||
configure_file(release/Distribution.xml.in pkgscripts/Distribution.xml)
|
||||
configure_file(release/uninstall.in pkgscripts/uninstall)
|
||||
|
||||
@@ -58,6 +58,8 @@ BUILDDIRARMV7=@IOS_ARMV7_BUILD@
|
||||
BUILDDIRARMV7S=@IOS_ARMV7S_BUILD@
|
||||
BUILDDIRARMV8=@IOS_ARMV8_BUILD@
|
||||
WITH_JAVA=@WITH_JAVA@
|
||||
OSX_APP_CERT_NAME="@OSX_APP_CERT_NAME@"
|
||||
OSX_INST_CERT_NAME="@OSX_INST_CERT_NAME@"
|
||||
LIPO=lipo
|
||||
|
||||
PREFIX=@CMAKE_INSTALL_PREFIX@
|
||||
@@ -258,11 +260,25 @@ cp $SRCDIR/release/License.rtf $SRCDIR/release/Welcome.rtf $SRCDIR/release/ReadM
|
||||
mkdir $TMPDIR/dmg
|
||||
pkgbuild --root $PKGROOT --version $VERSION.$BUILD --identifier @PKGID@ \
|
||||
$TMPDIR/pkg/$PKGNAME.pkg
|
||||
SUFFIX=
|
||||
if [ "$OSX_INST_CERT_NAME" != "" ]; then
|
||||
SUFFIX=-unsigned
|
||||
fi
|
||||
productbuild --distribution pkgscripts/Distribution.xml \
|
||||
--package-path $TMPDIR/pkg/ --resources $TMPDIR/pkg/ \
|
||||
$TMPDIR/dmg/$PKGNAME.pkg
|
||||
$TMPDIR/dmg/$PKGNAME$SUFFIX.pkg
|
||||
if [ "$OSX_INST_CERT_NAME" != "" ]; then
|
||||
productsign --sign "$OSX_INST_CERT_NAME" --timestamp \
|
||||
$TMPDIR/dmg/$PKGNAME$SUFFIX.pkg $TMPDIR/dmg/$PKGNAME.pkg
|
||||
rm -r $TMPDIR/dmg/$PKGNAME$SUFFIX.pkg
|
||||
pkgutil --check-signature $TMPDIR/dmg/$PKGNAME.pkg
|
||||
fi
|
||||
hdiutil create -fs HFS+ -volname $PKGNAME-$VERSION \
|
||||
-srcfolder "$TMPDIR/dmg" $TMPDIR/$PKGNAME-$VERSION.dmg
|
||||
if [ "$OSX_APP_CERT_NAME" != "" ]; then
|
||||
codesign -s "$OSX_APP_CERT_NAME" --timestamp $TMPDIR/$PKGNAME-$VERSION.dmg
|
||||
codesign -vv $TMPDIR/$PKGNAME-$VERSION.dmg
|
||||
fi
|
||||
cp $TMPDIR/$PKGNAME-$VERSION.dmg .
|
||||
|
||||
exit
|
||||
|
||||
Reference in New Issue
Block a user