set(icons example ) set(formats pdf svg ) foreach(icon ${icons}) foreach(format ${formats}) add_custom_target("icon-${icon}-${format}" ALL) add_custom_command( TARGET "icon-${icon}-${format}" POST_BUILD COMMAND SELF_CALL=xxx # https://gitlab.com/inkscape/inkscape/-/issues/4716 inkscape --export-type=${format} --export-filename=${CMAKE_CURRENT_BINARY_DIR}/${icon}.${format} ${CMAKE_CURRENT_SOURCE_DIR}/${icon}.svg WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) endforeach() endforeach()