view deploy/osx/sign.sh @ 1976:810a0b8f5472 c++14

Requiring c++14 is not going to work for Travis (because we want to support a Qt version too old to know about the c++14 config flag) or for our AppImage build (because we want to run on distros to old to support the relevant gcc ABI). So instead we try to confine the C++ standard selection to one place (config/noconfig) and revert to c++11 if the compiler is too old to know about c++14. All of the actual SV code remains c++11, and we assume we build against an older version of capnproto when we want to perform a c++11 build.
author Chris Cannam
date Fri, 31 Aug 2018 13:41:27 +0100
parents 298651b1a002
children 4f4eb416fcb4
line wrap: on
line source
#!/bin/bash 

set -eu

# Execute this from the top-level directory of the project (the one
# that contains the .app bundle).  Supply the name of the .app bundle
# as argument
dir="$1"
if [ -z "$dir" ] || [ ! -d "$dir" ]; then
	echo "Usage: $0 <pkgdir>"
	echo "Where pkgdir is the directory containing <MyApplication>.app"
	echo "All .app bundles in pkgdir will be signed"
	exit 2
fi
for app in "$dir"/*.app; do
    codesign -s "Developer ID Application: Chris Cannam" -fv --deep "$app"
#    find "$app" -name Qt\* -print | while read fr; do
#	codesign -s "Developer ID Application: Chris Cannam" -fv "$fr"
#    done
#    find "$app" -name \*.dylib -print | while read fr; do
#	codesign -s "Developer ID Application: Chris Cannam" -fv "$fr"
#    done
#    find "$app/Contents/MacOS" -type f -print | while read fr; do
#	codesign -s "Developer ID Application: Chris Cannam" -fv "$fr"
#    done
    codesign -s "Developer ID Application: Chris Cannam" -fv \
         --requirements '=designated =>  identifier "org.sonicvisualiser.SonicVisualiser" and ( (anchor apple generic and    certificate leaf[field.1.2.840.113635.100.6.1.9] ) or (anchor apple generic and    certificate 1[field.1.2.840.113635.100.6.2.6]  and    certificate leaf[field.1.2.840.113635.100.6.1.13] and    certificate leaf[subject.OU] = "M2H8666U82"))' \
         "$app"
done