mkspecs/features/symbian/application_icon.prf
author Alex Gilkes <alex.gilkes@nokia.com>
Mon, 11 Jan 2010 14:00:40 +0000
changeset 0 1918ee327afb
child 3 41300fa6a67c
permissions -rw-r--r--
Revision: 200952

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
    }
}