diff options
| -rw-r--r-- | modules/KDE4Macros.cmake | 28 | 
1 files changed, 28 insertions, 0 deletions
| diff --git a/modules/KDE4Macros.cmake b/modules/KDE4Macros.cmake index c4f30699..0be16ff1 100644 --- a/modules/KDE4Macros.cmake +++ b/modules/KDE4Macros.cmake @@ -894,3 +894,31 @@ macro (KDE4_CREATE_HTML_HANDBOOK _docbook)  endmacro (KDE4_CREATE_HTML_HANDBOOK) +# +# add application icon to a set of source files  +# +macro (KDE4_ADD_APP_ICON outfiles) +    if (WIN32) +        FOREACH (it ${ARGN}) +            GET_FILENAME_COMPONENT(_name ${it} NAME_WE) +            set (_icons ${_icons} ${it}) +        ENDFOREACH (it) +        set (_outfilename ${CMAKE_CURRENT_BINARY_DIR}/${_name}) +        add_custom_command(OUTPUT ${_outfilename}.ico +            COMMAND png2ico  +            ARGS ${_outfilename}.ico ${_icons}  +            DEPENDS ${_icons} +        ) +        file(WRITE ${_outfilename}.rc "IDI_ICON1        ICON        DISCARDABLE    \"${_outfilename}.ico\"\n") +        if (MINGW) +            add_custom_command(OUTPUT ${_outfilename}_res.o +                COMMAND windres  +                ARGS -i ${_outfilename}.rc -o ${_outfilename}_res.o --include-dir=${CMAKE_CURRENT_SOURCE_DIR} +                DEPENDS ${_outfilename}.ico ${_outfilename}.rc +            ) +            list(APPEND ${outfiles} ${_outfilename}_res.o) +        else(MINGW) +            list(APPEND ${outfiles} ${_outfilename}.rc) +        endif(MINGW) +    endif(WIN32) +endmacro (KDE4_ADD_APP_ICON) | 
