aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/KDE4Macros.cmake28
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)