diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2006-11-13 15:25:16 -0500 |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2006-11-13 15:25:16 -0500 |
commit | 6f05d6d4133d1df5404c509e7e628d80686a073b (patch) | |
tree | 6c3b0ae2a26d2345d1defc5a19984708217626ed | |
parent | 3031e9ee9a26659e9e0935759c5d0bba6199bf12 (diff) | |
download | cmake-6f05d6d4133d1df5404c509e7e628d80686a073b.tar.gz |
ENH: move from main tree
-rw-r--r-- | ChangeLog.manual | 4 | ||||
-rw-r--r-- | Modules/FindQt4.cmake | 12 |
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) |