summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2006-11-13 15:25:16 -0500
committerBill Hoffman <bill.hoffman@kitware.com>2006-11-13 15:25:16 -0500
commit6f05d6d4133d1df5404c509e7e628d80686a073b (patch)
tree6c3b0ae2a26d2345d1defc5a19984708217626ed
parent3031e9ee9a26659e9e0935759c5d0bba6199bf12 (diff)
downloadcmake-6f05d6d4133d1df5404c509e7e628d80686a073b.tar.gz
ENH: move from main tree
-rw-r--r--ChangeLog.manual4
-rw-r--r--Modules/FindQt4.cmake12
2 files changed, 14 insertions, 2 deletions
diff --git a/ChangeLog.manual b/ChangeLog.manual
index bc1d23fd7c..df51cfc800 100644
--- a/ChangeLog.manual
+++ b/ChangeLog.manual
@@ -159,7 +159,9 @@ Changes in CMake 2.4.4
* Fix debug stl run of ctest on Mac
-* Use #2 for manifest command on dll and #1 on exe
+* Use #2 for manifest nt command on dll and #1 on exe
+
+* Add depends from files inside qrc files in qt
Changes in CMake 2.4.3
diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake
index fd0e32202d..292c24b0fb 100644
--- a/Modules/FindQt4.cmake
+++ b/Modules/FindQt4.cmake
@@ -776,11 +776,21 @@ IF (QT4_QMAKE_FOUND)
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}/qrc_${outfilename}.cxx)
+ # 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 ${QT_RCC_EXECUTABLE}
ARGS -name ${outfilename} -o ${outfile} ${infile}
- MAIN_DEPENDENCY ${infile} )
+ MAIN_DEPENDENCY ${infile}
+ DEPENDS ${_RC_DEPENDS})
SET(${outfiles} ${${outfiles}} ${outfile})
ENDFOREACH (it)