Autogenerate icns from png iconset for app bundle
authorromibi <romibi@bluewin.ch>
Fri, 15 Jun 2018 09:51:03 +0000 (11:51 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sat, 16 Jun 2018 00:43:58 +0000 (02:43 +0200)
pics/iconset/icon_128x128.png [new file with mode: 0644]
pics/iconset/icon_128x128@2x.png [new file with mode: 0644]
pics/iconset/icon_16x16.png [new file with mode: 0644]
pics/iconset/icon_16x16@2x.png [new file with mode: 0644]
pics/iconset/icon_256x256.png [new file with mode: 0644]
pics/iconset/icon_256x256@2x.png [new file with mode: 0644]
pics/iconset/icon_32x32.png [new file with mode: 0644]
pics/iconset/icon_32x32@2x.png [new file with mode: 0644]
pics/iconset/icon_512x512.png [new file with mode: 0644]
pics/iconset/icon_512x512@2x.png [new file with mode: 0644]
scripts/build/macosx_makebundle.py

diff --git a/pics/iconset/icon_128x128.png b/pics/iconset/icon_128x128.png
new file mode 100644 (file)
index 0000000..1756868
Binary files /dev/null and b/pics/iconset/icon_128x128.png differ
diff --git a/pics/iconset/icon_128x128@2x.png b/pics/iconset/icon_128x128@2x.png
new file mode 100644 (file)
index 0000000..c6566e4
Binary files /dev/null and b/pics/iconset/icon_128x128@2x.png differ
diff --git a/pics/iconset/icon_16x16.png b/pics/iconset/icon_16x16.png
new file mode 100644 (file)
index 0000000..481ac09
Binary files /dev/null and b/pics/iconset/icon_16x16.png differ
diff --git a/pics/iconset/icon_16x16@2x.png b/pics/iconset/icon_16x16@2x.png
new file mode 100644 (file)
index 0000000..4f776f9
Binary files /dev/null and b/pics/iconset/icon_16x16@2x.png differ
diff --git a/pics/iconset/icon_256x256.png b/pics/iconset/icon_256x256.png
new file mode 100644 (file)
index 0000000..c6566e4
Binary files /dev/null and b/pics/iconset/icon_256x256.png differ
diff --git a/pics/iconset/icon_256x256@2x.png b/pics/iconset/icon_256x256@2x.png
new file mode 100644 (file)
index 0000000..309bde5
Binary files /dev/null and b/pics/iconset/icon_256x256@2x.png differ
diff --git a/pics/iconset/icon_32x32.png b/pics/iconset/icon_32x32.png
new file mode 100644 (file)
index 0000000..4f776f9
Binary files /dev/null and b/pics/iconset/icon_32x32.png differ
diff --git a/pics/iconset/icon_32x32@2x.png b/pics/iconset/icon_32x32@2x.png
new file mode 100644 (file)
index 0000000..ee7a39a
Binary files /dev/null and b/pics/iconset/icon_32x32@2x.png differ
diff --git a/pics/iconset/icon_512x512.png b/pics/iconset/icon_512x512.png
new file mode 100644 (file)
index 0000000..309bde5
Binary files /dev/null and b/pics/iconset/icon_512x512.png differ
diff --git a/pics/iconset/icon_512x512@2x.png b/pics/iconset/icon_512x512@2x.png
new file mode 100644 (file)
index 0000000..e03d3b8
Binary files /dev/null and b/pics/iconset/icon_512x512@2x.png differ
index f3b86da..e313a07 100755 (executable)
@@ -39,7 +39,7 @@ if(os.path.dirname(EXE_NAME)):
 CONTENTS_DIR += BUNDLE_NAME + ".app/Contents/"
 
 BUNDLE_VERSION = commands.getoutput("git --git-dir=" + SOURCE_DIR + "/.git/ describe")
-ICON_FILE = "pics/quassel.icns"
+ICONSET_FOLDER = "pics/iconset/"
 
 
 def createBundle():
@@ -50,23 +50,28 @@ def createBundle():
         pass
 
 
-def copyFiles(exeFile, iconFile):
+def copyFiles(exeFile, iconset):
     os.system("cp %s %sMacOs/%s" % (exeFile, CONTENTS_DIR.replace(' ', '\ '), BUNDLE_NAME.replace(' ', '\ ')))
-    os.system("cp %s/%s %s/Resources" % (SOURCE_DIR, iconFile, CONTENTS_DIR.replace(' ', '\ ')))
+    os.system("cp -r %s/%s %s/Resources/quassel.iconset/" % (SOURCE_DIR, iconset, CONTENTS_DIR.replace(' ', '\ ')))
 
 
-def createPlist(bundleName, iconFile, bundleVersion):
+def createPlist(bundleName, bundleVersion):
     templateFile = file(SOURCE_DIR + "/scripts/build/Info.plist", 'r')
     template = templateFile.read()
     templateFile.close()
 
     plistFile = file(CONTENTS_DIR + "Info.plist", 'w')
     plistFile.write(template % {"BUNDLE_NAME": bundleName,
-                                "ICON_FILE": iconFile[iconFile.rfind("/") + 1:],
+                                "ICON_FILE": "quassel.icns",
                                 "BUNDLE_VERSION": bundleVersion})
     plistFile.close()
 
+def convertIconset():
+    os.system("iconutil -c icns %s/Resources/quassel.iconset" % CONTENTS_DIR.replace(' ', '\ '))
+    os.system("rm -R %s/Resources/quassel.iconset" % CONTENTS_DIR.replace(' ', '\ '))
+
 if __name__ == "__main__":
     createBundle()
-    createPlist(BUNDLE_NAME, ICON_FILE, BUNDLE_VERSION)
-    copyFiles(EXE_NAME, ICON_FILE)
+    createPlist(BUNDLE_NAME, BUNDLE_VERSION)
+    copyFiles(EXE_NAME, ICONSET_FOLDER)
+    convertIconset()