function(add_resources RESOURCES_TARGET) cmake_parse_arguments( PARSE_ARGV 1 RESOURCES "" "PREFIX" "FILES" ) if(NOT DEFINED RESOURCES_PREFIX) set(RESOURCES_PREFIX ${CMAKE_BINARY_DIR}) endif() foreach(RESOURCES_SOURCE IN ITEMS ${RESOURCES_FILES}) add_custom_command( OUTPUT "${RESOURCES_PREFIX}/${RESOURCES_SOURCE}" DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${RESOURCES_SOURCE}" COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/${RESOURCES_SOURCE}" "${RESOURCES_PREFIX}/${RESOURCES_SOURCE}" COMMENT "Moving ${RESOURCES_SOURCE}" ) endforeach() list(TRANSFORM RESOURCES_FILES PREPEND "${RESOURCES_PREFIX}/") add_custom_target( ${RESOURCES_TARGET} ALL DEPENDS ${RESOURCES_FILES} ) endfunction()