annotate mac/finishup.sh @ 2873:0bbfb19022e7

C++: GCC prior to 4.7 does not support the override keyword. So if using earlier versions of GCC, just remove override. This allows compilation on ancient GCC and GCC based Xcode. Also remove virtual from the application, I don't think it is needed and old GCC pukes on it when it is there.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 19 Dec 2022 07:42:12 +0000
parents ef7a414f9b71
children 3dde7456c9f6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
443
e99cd6e45c0b Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1 #!/bin/sh
e99cd6e45c0b Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
2 PLATFORM=`uname -s`
e99cd6e45c0b Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
3
e99cd6e45c0b Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
4 if [ $PLATFORM = "Darwin" ]
e99cd6e45c0b Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
5 then
2861
ef7a414f9b71 Add initial C++ binding header and example program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2850
diff changeset
6 mkdir -p $2.app/Contents/MacOS
ef7a414f9b71 Add initial C++ binding header and example program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2850
diff changeset
7 mkdir -p $2.app/Contents/Resources
639
06be879f5137 Support for building with GTK+ on Mac OSX
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 443
diff changeset
8
2861
ef7a414f9b71 Add initial C++ binding header and example program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2850
diff changeset
9 cat $1/mac/Info.plist | sed s/APPNAME/$2/ > $2.app/Contents/Info.plist
ef7a414f9b71 Add initial C++ binding header and example program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2850
diff changeset
10 cp -f $1/mac/PkgInfo $2.app/Contents
ef7a414f9b71 Add initial C++ binding header and example program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2850
diff changeset
11 cp -f $1/mac/file.png $2.app/Contents/Resources
ef7a414f9b71 Add initial C++ binding header and example program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2850
diff changeset
12 cp -f $1/mac/folder.png $2.app/Contents/Resources
ef7a414f9b71 Add initial C++ binding header and example program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2850
diff changeset
13 cp -f $1/image/test.png $2.app/Contents/Resources
ef7a414f9b71 Add initial C++ binding header and example program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2850
diff changeset
14 cp -f $2 $2.app/Contents/MacOS
2074
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
15 # Check if there is a certificate to sign with...
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
16 if [ ! -f mac/key.crt ]; then
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
17 if [ -f mac/key.rsa ]; then
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
18 # If not we generate a self-signed one for testing purposes
2120
3784795a1e94 Mac: Add support for AdHoc code signing in finishup script.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2074
diff changeset
19 echo "No certificate in mac/key.crt so generating self-signed certificate..."
2074
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
20 openssl req -new -key mac/key.rsa -out mac/key.csr -config mac/openssl.cnf
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
21 openssl x509 -req -days 3650 -in mac/key.csr -signkey mac/key.rsa -out mac/key.crt -extfile mac/openssl.cnf -extensions codesign
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
22 certtool i mac/key.crt k="`pwd`/mac/key.keychain" r=mac/key.rsa c p=moof
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
23 else
2120
3784795a1e94 Mac: Add support for AdHoc code signing in finishup script.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2074
diff changeset
24 echo "No key pair found, cannot generate certificate... signing AdHoc."
2861
ef7a414f9b71 Add initial C++ binding header and example program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2850
diff changeset
25 codesign -s "-" $2.app/Contents/MacOS/$2
2074
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
26 fi
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
27 fi
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
28 if [ -f mac/key.keychain ]; then
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
29 echo "Signing the apllication with certificate in mac/key.crt"
2861
ef7a414f9b71 Add initial C++ binding header and example program.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 2850
diff changeset
30 codesign -s my-signing-identity --keychain mac/key.keychain $2.app/Contents/MacOS/$2
2074
1a196ada0bc9 Mac: Add safety checks. Check bundleIdentifier is not nil before calling
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 879
diff changeset
31 fi
639
06be879f5137 Support for building with GTK+ on Mac OSX
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 443
diff changeset
32 fi