aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorPatrick Spendrin <ps_ml@gmx.de>2007-11-07 20:48:28 +0000
committerPatrick Spendrin <ps_ml@gmx.de>2007-11-07 20:48:28 +0000
commit2a0027066fd35c328cf6e41598a883bf9d135bd6 (patch)
tree6fff6142d3e6ce28a67efe23ae3fb6a2e4d111bb /modules
parentec7950368104ff4e7f81add6e82dd7521c2b4ad1 (diff)
downloadextra-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
Diffstat (limited to 'modules')
-rw-r--r--modules/FindKDEWIN32.cmake25
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)