aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalf Habacker <ralf.habacker@freenet.de>2007-09-11 17:32:06 +0000
committerRalf Habacker <ralf.habacker@freenet.de>2007-09-11 17:32:06 +0000
commit1e04907bba497d5d24d50d0320631ed7d13e4318 (patch)
tree2cc82eec155bdda58c604727c085f8686c3de0ae
parent8ae35f3ff5fd6c65cda52a1ae7fece79ff41eb13 (diff)
downloadextra-cmake-modules-1e04907bba497d5d24d50d0320631ed7d13e4318.tar.gz
extra-cmake-modules-1e04907bba497d5d24d50d0320631ed7d13e4318.tar.bz2
added macro for win32 application icon named KDE4_ADD_APP_ICON
svn path=/trunk/KDE/kdelibs/; revision=711195
-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)