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 | |
| 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
| -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 | 
