当 .qrc 文件中引用的文件内容发生更改时,我想设置 CMake 来构建 qresource 文件。例如,我有一些 qml 文件被打包成一个 qrc 文件,如果 qml 文件发生更改,则需要重新编译 qrc。
我有以下宏来运行资源编译器,但它只会在资源文件本身发生变化时重建它。
MACRO(PYQT5_WRAP_RC outfiles)
FOREACH(it ${ARGN})
GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
SET(outfile ${CMAKE_CURRENT_SOURCE_DIR}/${outfile}_rc.py)
ADD_CUSTOM_TARGET(${it} ALL
DEPENDS ${outfile}
)
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${PYRCC5BINARY} ${infile} -o ${outfile}
MAIN_DEPENDENCY ${infile}
)
SET(${outfiles} ${${outfiles}} ${outfile})
ENDFOREACH(it)
ENDMACRO (PYQT5_WRAP_RC)
宏是这样使用的:
PYQT5_WRAP_RC(rc_gen file1.qrc file2.qrc ...)
如果它引用的文件之一发生更改,我怎样才能使它重新编译 qrc 文件?
我需要做这样复杂的事情吗?