SET(EMBED_OUTDIR ${CMAKE_CURRENT_BINARY_DIR}/embeds) file(MAKE_DIRECTORY ${EMBED_OUTDIR}) function(embed filesglob) SET(RESOURCE_COMPILER xxd) FILE(GLOB_RECURSE COMPILED_RESOURCES ${filesglob}) FOREACH(INPUT_FILE ${COMPILED_RESOURCES}) get_filename_component(OUTPUT_FILE ${INPUT_FILE} NAME_WE) get_filename_component(INPUT_FILE_DIR ${INPUT_FILE} DIRECTORY) get_filename_component(INPUT_FILE_NAME ${INPUT_FILE} NAME) execute_process(COMMAND ${RESOURCE_COMPILER} -i ${INPUT_FILE_NAME} ${EMBED_OUTDIR}/embed_${OUTPUT_FILE}.h WORKING_DIRECTORY ${INPUT_FILE_DIR}) message("Generating header for ${INPUT_FILE}...") ENDFOREACH() endfunction()