if(ShadersToQRC_INCLUDED) return() endif() set(ShadersToQRC_INCLUDED ON) source_group("Shader Files" REGULAR_EXPRESSION "\\.(vert|tesc|tese|geom|frag|comp|glsl)$") macro(shaders_to_qrc) set(EXTRA_ARGS ${ARGN}) list(LENGTH EXTRA_ARGS NUM_EXTRA_ARGS) set(name shaders) if(NUM_EXTRA_ARGS GREATER 0) list(GET EXTRA_ARGS 0 name) endif() if(NUM_EXTRA_ARGS GREATER 1) list(GET EXTRA_ARGS 1 prefix) file(WRITE ${PROJECT_BINARY_DIR}/${name}.qrc "") else() file(WRITE ${PROJECT_BINARY_DIR}/${name}.qrc "") endif() get_target_property(_SOURCES ${PROJECT_NAME} SOURCES) source_group("Generated Files" FILES ${PROJECT_BINARY_DIR}/shaders.qrc) foreach(_SOURCE ${_SOURCES}) if(_SOURCE MATCHES "\\.(vert|tesc|tese|geom|frag|comp|glsl)$") file(APPEND ${PROJECT_BINARY_DIR}/${name}.qrc "${PROJECT_SOURCE_DIR}/${_SOURCE}") endif() endforeach() file(APPEND ${PROJECT_BINARY_DIR}/${name}.qrc "") target_sources(${PROJECT_NAME} PRIVATE ${PROJECT_BINARY_DIR}/${name}.qrc) endmacro()