aboutsummaryrefslogtreecommitdiff
path: root/modules/KDE4Macros.cmake
diff options
context:
space:
mode:
authorRalf Habacker <ralf.habacker@freenet.de>2007-10-03 17:39:32 +0000
committerRalf Habacker <ralf.habacker@freenet.de>2007-10-03 17:39:32 +0000
commit588db94185d429593dcb23473c00b29cd32f3229 (patch)
tree0396efb840ff832effe65d486c047a7533d91ae9 /modules/KDE4Macros.cmake
parent320616a8cbbc65b69e1e78bae0b5ba805e445326 (diff)
downloadextra-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/KDE4Macros.cmake')
-rw-r--r--modules/KDE4Macros.cmake39
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