diff options
author | Ralf Habacker <ralf.habacker@freenet.de> | 2007-10-03 17:39:32 +0000 |
---|---|---|
committer | Ralf Habacker <ralf.habacker@freenet.de> | 2007-10-03 17:39:32 +0000 |
commit | 588db94185d429593dcb23473c00b29cd32f3229 (patch) | |
tree | 0396efb840ff832effe65d486c047a7533d91ae9 /modules | |
parent | 320616a8cbbc65b69e1e78bae0b5ba805e445326 (diff) | |
download | extra-cmake-modules-588db94185d429593dcb23473c00b29cd32f3229.tar.gz extra-cmake-modules-588db94185d429593dcb23473c00b29cd32f3229.tar.bz2 |
fixes for KDE4_ADD_WIN32_APP_ICON
- merged dir/pattern parameter into one parameter
- implemented regular expression search for application icons
- excluded icons with size 22x22, they are not allowed on windows
- added a workaround for non working add_custom_command
svn path=/trunk/KDE/kdelibs/; revision=720773
Diffstat (limited to 'modules')
-rw-r--r-- | modules/KDE4Macros.cmake | 39 |
1 files changed, 28 insertions, 11 deletions
diff --git a/modules/KDE4Macros.cmake b/modules/KDE4Macros.cmake index 605d6aed..98e00c7b 100644 --- a/modules/KDE4Macros.cmake +++ b/modules/KDE4Macros.cmake @@ -19,7 +19,7 @@ # KDE4_REMOVE_OBSOLETE_CMAKE_FILES # KDE4_NO_ENABLE_FINAL # KDE4_CREATE_HANDBOOK -# KDE4_ADD_APP_ICON (Use on Win32) +# KDE4_ADD_WIN32_APP_ICON (Use on Win32) # KDE4_CREATE_MANPAGE # Copyright (c) 2006, 2007, Alexander Neundorf, <neundorf@kde.org> @@ -941,21 +941,38 @@ macro (KDE4_CREATE_HTML_HANDBOOK _docbook) endmacro (KDE4_CREATE_HTML_HANDBOOK) -# -# add application icon to a set of source files -# -macro (KDE4_ADD_WIN32_APP_ICON outfiles) +# adds application icon to target source list +# 'outfiles' - specifies the list of source files +# 'pattern' - regular expression for searching application icons +# example: KDE4_ADD_WIN32_APP_ICON(myapp_sources "pics/cr*-myapp.png") + +macro (KDE4_ADD_WIN32_APP_ICON outfiles pattern) if (WIN32) - FOREACH (it ${ARGN}) + #if (NOT PNG2ICO_EXECUTABLE) + # find_executable(PNG2ICO_EXECUTABLE + #endif (NOT PNG2ICO_EXECUTABLE) + file(GLOB files "${pattern}") + MESSAGE(${files}) + FOREACH (it ${files}) GET_FILENAME_COMPONENT(_name ${it} NAME_WE) - set (_icons ${_icons} ${it}) + #exclude 22'er icons, they does not fix into ico format + if (it MATCHES ".*22-.*") + else(it MATCHES ".*22-.*") + set (_icons "${_icons} ${it}") + endif (it MATCHES ".*22-.*") ENDFOREACH (it) set (_outfilename ${CMAKE_CURRENT_BINARY_DIR}/${_name}) - add_custom_command(OUTPUT ${_outfilename}.ico - COMMAND png2ico - ARGS ${_outfilename}.ico ${_icons} - DEPENDS ${_icons} + # png2ico is located in the recommended kdewin32 package + MESSAGE("png2ico ${_outfilename}.ico ${_icons}") + EXEC_PROGRAM(png2ico + ARGS ${_outfilename}.ico ${_icons} ) +# does not work for unkwown reason +# add_custom_command(OUTPUT ${_outfilename}.ico +# COMMAND c:/Programme/kdewin-msvc/bin/png2ico.exe +# 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 |