mkspecs/features/symbian/application_icon.prf
changeset 0 1918ee327afb
child 3 41300fa6a67c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mkspecs/features/symbian/application_icon.prf	Mon Jan 11 14:00:40 2010 +0000
@@ -0,0 +1,40 @@
+load(data_caging_paths)
+
+# If no_icon keyword exist, the S60 UI app is just made hidden. This because S60 app FW
+# requires the registration resource file to exist always
+contains( CONFIG, no_icon ) {
+    symbian:RSS_RULES ="hidden = KAppIsHidden;" 
+    CONFIG -= no_icon
+} else {
+# There is no point in compiling the MIF icon if no_icon CONFIGS is set
+    !isEmpty(ICON) {
+        
+        !count(ICON, $$size(TRANSLATIONS)):!count(ICON, 1) {
+            message("ICON keyword must have one or the same amout of items as in TRANSLATIONS keyword")
+        }
+
+        # MIF files will have UID in their names, if TARGET.UID3 is not set, remind the user
+        isEmpty(TARGET.UID3):error("TARGET.UID3 must be explicitly defined for ICON generation")
+
+        # Note: symbian-sbsv2 builds can't utilize extra compiler for mifconv, so ICON handling is done in code
+        symbian-abld {        
+            #Makefile: requires paths with backslash    
+            ICON = $$replace( ICON, /, \\)
+
+            # Extra compiler rules for mifconv
+            mifconv.output = ${ZDIR}$$APP_RESOURCE_DIR/$${TARGET.UID3}.mif
+            # Based on: http://www.forum.nokia.com/document/Cpp_Developers_Library
+            # svg-t icons should always use /c32 depth
+            mifconv.commands = mifconv ${QMAKE_FILE_OUT} $$join(ICON, " /c32 ", "/c32 ",) 
+            mifconv.input = ICON
+            mifconv.CONFIG = no_link combine
+            # target_predeps together with combine seems not to work correctly, lets define it by ourselves
+            PRE_TARGETDEPS += $$mifconv.output
+            QMAKE_EXTRA_COMPILERS += mifconv
+        } 
+        # Rules to use generated MIF file from symbian resources
+        RSS_RULES.number_of_icons = $$size(ICON)
+        RSS_RULES.icon_file = $$replace( APP_RESOURCE_DIR, /, \\\\ )\\\\$${TARGET.UID3}.mif
+    }
+}
+