diff options
author | Patrick Spendrin <ps_ml@gmx.de> | 2007-11-09 12:43:19 +0000 |
---|---|---|
committer | Patrick Spendrin <ps_ml@gmx.de> | 2007-11-09 12:43:19 +0000 |
commit | 90f3ffd45a28a5f86d09e8371aa4897b0d91a9f2 (patch) | |
tree | bcabdff2eddaa338a3165ff56b899194298feee5 /modules | |
parent | c5afd5be2d2baeff6a727b483d1791634170379c (diff) | |
download | extra-cmake-modules-90f3ffd45a28a5f86d09e8371aa4897b0d91a9f2.tar.gz extra-cmake-modules-90f3ffd45a28a5f86d09e8371aa4897b0d91a9f2.tar.bz2 |
changing macro to just work in case of png2ico's existance - removing duplication from FindKDEWIN32.cmake
svn path=/trunk/KDE/kdelibs/; revision=734634
Diffstat (limited to 'modules')
-rw-r--r-- | modules/FindKDEWIN32.cmake | 25 | ||||
-rw-r--r-- | modules/KDE4Macros.cmake | 66 |
2 files changed, 32 insertions, 59 deletions
diff --git a/modules/FindKDEWIN32.cmake b/modules/FindKDEWIN32.cmake index b69f0beb..5d4499af 100644 --- a/modules/FindKDEWIN32.cmake +++ b/modules/FindKDEWIN32.cmake @@ -71,29 +71,4 @@ if (WIN32) message(FATAL_ERROR "Could NOT find KDEWIN32 library\nPlease install it first") endif (KDEWIN32_FIND_REQUIRED) endif (KDEWIN32_FOUND) - MACRO (KDE_ADD_RESOURCES2 outfiles ) - - FOREACH (it ${ARGN}) - GET_FILENAME_COMPONENT(outfilename ${it} NAME_WE) - GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE) - GET_FILENAME_COMPONENT(rc_path ${infile} PATH) - SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/${outfilename}_res.o) - # parse file for dependencies - FILE(READ "${infile}" _RC_FILE_CONTENTS) - STRING(REGEX MATCHALL "<file>[^<]*" _RC_FILES "${_RC_FILE_CONTENTS}") - SET(_RC_DEPENDS) - FOREACH(_RC_FILE ${_RC_FILES}) - STRING(REGEX REPLACE "^<file>" "" _RC_FILE "${_RC_FILE}") - SET(_RC_DEPENDS ${_RC_DEPENDS} "${rc_path}/${_RC_FILE}") - ENDFOREACH(_RC_FILE) - ADD_CUSTOM_COMMAND(OUTPUT ${outfile} - COMMAND windres - ARGS -i ${infile} -o ${outfile} --include-dir=${CMAKE_CURRENT_SOURCE_DIR} - MAIN_DEPENDENCY ${infile} - DEPENDS ${_RC_DEPENDS}) - SET(${outfiles} ${${outfiles}} ${outfile}) - ENDFOREACH (it) - - ENDMACRO (KDE_ADD_RESOURCES2) - endif (WIN32) diff --git a/modules/KDE4Macros.cmake b/modules/KDE4Macros.cmake index 7e4b5222..92ec5097 100644 --- a/modules/KDE4Macros.cmake +++ b/modules/KDE4Macros.cmake @@ -947,40 +947,38 @@ endmacro (KDE4_CREATE_HTML_HANDBOOK) macro (KDE4_ADD_WIN32_APP_ICON outfiles pattern) if (WIN32) - #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) - #exclude 22'er icons, they do not fit into ico format - if (NOT it MATCHES ".*22-.*") + if (NOT PNG2ICO_EXECUTABLE) + find_program(PNG2ICO_EXECUTABLE NAMES png2ico) + endif (NOT PNG2ICO_EXECUTABLE) + if (PNG2ICO_EXECUTABLE) + file(GLOB files "${pattern}") + foreach (it ${files}) + get_filename_component(_name ${it} NAME_WE) + ##exclude 22'er icons, they do not fit into ico format - not needed anymore - you have to use the icons from kdebase / oxygen + #if (NOT it MATCHES ".*22-.*") set (_icons "${_icons} ${it}") - endif (NOT it MATCHES ".*22-.*") - endforeach (it) - set (_outfilename ${CMAKE_CURRENT_BINARY_DIR}/${_name}) - # 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 - 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 (NOT it MATCHES ".*22-.*") + endforeach (it) + + set (_outfilename ${CMAKE_CURRENT_BINARY_DIR}/${_name}) + + # png2ico is found by the above find_program + message("png2ico ${_outfilename}.ico ${_icons}") + exec_program(png2ico ARGS ${_outfilename}.ico ${_icons}) + + # now make rc file for adding it to the sources + 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(PNG2ICO_EXECUTABLE) endif(WIN32) endmacro (KDE4_ADD_WIN32_APP_ICON) + |