summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt47
1 files changed, 46 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1d9bc93..bb6758f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,4 +2,49 @@ cmake_minimum_required(VERSION 3.10)
project(art-inkscape LANGUAGES NONE)
-add_subdirectory(icons)
+set(icons
+ example
+)
+
+set(formats
+ pdf
+ svg
+ png
+ jpg
+)
+
+foreach(icon ${icons})
+ foreach(format ${formats})
+ if(format STREQUAL jpg)
+ add_custom_command(
+ OUTPUT
+ ${CMAKE_CURRENT_BINARY_DIR}/icons/${icon}.${format}
+ COMMAND
+ magick
+ ${CMAKE_CURRENT_BINARY_DIR}/icons/${icon}.png
+ ${CMAKE_CURRENT_BINARY_DIR}/icons/${icon}.${format}
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/icons/${icon}.png
+ )
+ else()
+ add_custom_command(
+ OUTPUT
+ ${CMAKE_CURRENT_BINARY_DIR}/icons/${icon}.${format}
+ COMMAND
+ SELF_CALL=xxx # https://gitlab.com/inkscape/inkscape/-/issues/4716
+ inkscape
+ --export-type=${format}
+ --export-filename=${CMAKE_CURRENT_BINARY_DIR}/icons/${icon}.${format}
+ ${CMAKE_CURRENT_SOURCE_DIR}/icons/${icon}.svg
+ DEPENDS
+ ${CMAKE_CURRENT_SOURCE_DIR}/icons/${icon}.svg
+ )
+ endif()
+ add_custom_target(
+ "icon-${icon}-${format}"
+ ALL
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/icons/${icon}.${format}
+ )
+ endforeach()
+endforeach()