ENH: add depend information from qrc files

This commit is contained in:
Bill Hoffman 2006-11-13 14:22:08 -05:00
parent 236692633b
commit ba238d785f
1 changed files with 11 additions and 1 deletions

View File

@ -776,11 +776,21 @@ IF (QT4_QMAKE_FOUND)
FOREACH (it ${ARGN}) FOREACH (it ${ARGN})
GET_FILENAME_COMPONENT(outfilename ${it} NAME_WE) GET_FILENAME_COMPONENT(outfilename ${it} NAME_WE)
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE) GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
GET_FILENAME_COMPONENT(rc_path ${infile} PATH)
SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${outfilename}.cxx) 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} ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${QT_RCC_EXECUTABLE} COMMAND ${QT_RCC_EXECUTABLE}
ARGS -name ${outfilename} -o ${outfile} ${infile} ARGS -name ${outfilename} -o ${outfile} ${infile}
MAIN_DEPENDENCY ${infile} ) MAIN_DEPENDENCY ${infile}
DEPENDS ${_RC_DEPENDS})
SET(${outfiles} ${${outfiles}} ${outfile}) SET(${outfiles} ${${outfiles}} ${outfile})
ENDFOREACH (it) ENDFOREACH (it)