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, 1) { ICON = $$first(ICON) warning("Only first icon specified in ICON variable is used: $$ICON") } # Try to produce indentical string to fixedTarget in SymbianMakefileGenerator, replaced chars taken # from SymbianCommonGenerator::removeSpecialCharacters. # # Note: it is not a major problem even baseTarget is not 100% identical to fixedTarget since qmake # only uses filename from RSS_RULES.icon_file when referring to icon file name. baseTarget = $$basename(TARGET) baseTarget = $$replace(baseTarget, /,_) baseTarget = $$replace(baseTarget, \\,_) baseTarget = $$replace(baseTarget, " ",_) symbian-abld|symbian-sbsv2 { baseTarget = $$replace(baseTarget, -,_) baseTarget = $$replace(baseTarget, \.,_) baseTarget = $$replace(baseTarget, :,_) } # Note: symbian-sbsv2 builds can't utilize extra compiler for mifconv, so ICON handling is done in code !symbian-sbsv2 { !contains(ICON, "^(/|\\\\|.:).*"):ICON = $$_PRO_FILE_PWD_/$$ICON #absolute path #Makefile: requires paths with backslash ICON_backslashed = $$ICON symbian-abld { mifIconZDir = ${ZDIR}$$APP_RESOURCE_DIR } else { isEmpty(DESTDIR) { mifIconZDir = . } else { mifIconZDir = $$DESTDIR } } # Extra compiler rules for mifconv mifconv.target = $$mifIconZDir/$${baseTarget}.mif contains(QMAKE_HOST.os, "Windows") { ICON_backslashed = $$replace(ICON_backslashed, /, \\) mifconv.target = $$replace(mifconv.target, /, \\) } # Based on: http://www.forum.nokia.com/document/Cpp_Developers_Library # svg-t icons should always use /c32 depth mifconv.commands = mifconv $$mifconv.target /c32 $$ICON_backslashed mifconv.depends = $$ICON PRE_TARGETDEPS += $$mifconv.target QMAKE_EXTRA_TARGETS += mifconv QMAKE_DISTCLEAN += $$mifconv.target } # Rules to use generated MIF file from symbian resources RSS_RULES.number_of_icons = $$size(ICON_backslashed) RSS_RULES.icon_file = $$APP_RESOURCE_DIR/$${baseTarget}.mif } }