diff options
author | Patrick Spendrin <ps_ml@gmx.de> | 2007-11-07 20:48:28 +0000 |
---|---|---|
committer | Patrick Spendrin <ps_ml@gmx.de> | 2007-11-07 20:48:28 +0000 |
commit | 2a0027066fd35c328cf6e41598a883bf9d135bd6 (patch) | |
tree | 6fff6142d3e6ce28a67efe23ae3fb6a2e4d111bb | |
parent | ec7950368104ff4e7f81add6e82dd7521c2b4ad1 (diff) | |
download | extra-cmake-modules-2a0027066fd35c328cf6e41598a883bf9d135bd6.tar.gz extra-cmake-modules-2a0027066fd35c328cf6e41598a883bf9d135bd6.tar.bz2 |
adding icon install macro from kdewin-installer/marble
svn path=/trunk/KDE/kdelibs/; revision=734021
-rw-r--r-- | modules/FindKDEWIN32.cmake | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/modules/FindKDEWIN32.cmake b/modules/FindKDEWIN32.cmake index 5d4499af..b69f0beb 100644 --- a/modules/FindKDEWIN32.cmake +++ b/modules/FindKDEWIN32.cmake @@ -71,4 +71,29 @@ 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) |