From 29c8d3e20de92577d9067b70c6745bf1f0654e9c Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 22 Aug 2013 13:51:00 +0000 Subject: [PATCH] Automatically re-generate png icon files from svg ones (CMake only for now)... Expects Inkscape program. --- build_files/cmake/macros.cmake | 31 +++++++++++++++++++ .../blender/editors/datafiles/CMakeLists.txt | 9 ++++++ 2 files changed, 40 insertions(+) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 854609f1665..e3c6169d77a 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -799,4 +799,35 @@ macro(data_to_c_simple unset(_file_from) unset(_file_to) unset(_file_to_path) + endmacro() + +macro(svg_to_png + file_from + file_to + dpi + list_to_add) + + # remove ../'s + get_filename_component(_file_from ${CMAKE_CURRENT_SOURCE_DIR}/${file_from} REALPATH) + get_filename_component(_file_to ${CMAKE_CURRENT_SOURCE_DIR}/${file_to} REALPATH) + + list(APPEND ${list_to_add} ${_file_to}) + + find_program(INKSCAPE_EXE inkscape) + mark_as_advanced(INKSCAPE_EXE) + + if(INKSCAPE_EXE) + add_custom_command( + OUTPUT ${_file_to} + COMMAND ${INKSCAPE_EXE} ${_file_from} --export-dpi=${dpi} --without-gui --export-png=${_file_to} + DEPENDS ${_file_from} ${INKSCAPE_EXE} + ) + else() + message(WARNING "Inkscape not found, could not re-generate ${_file_to} from ${_file_from}!") + endif() + + unset(_file_from) + unset(_file_to) + +endmacro() \ No newline at end of file diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt index 8d108644470..bb008c452ab 100644 --- a/source/blender/editors/datafiles/CMakeLists.txt +++ b/source/blender/editors/datafiles/CMakeLists.txt @@ -47,8 +47,17 @@ if(WITH_BLENDER) # images data_to_c_simple(../../../../release/datafiles/splash.png SRC) + svg_to_png(../../../../release/datafiles/blender_icons.svg + ../../../../release/datafiles/blender_icons16.png + 90 SRC) data_to_c_simple(../../../../release/datafiles/blender_icons16.png SRC) + svg_to_png(../../../../release/datafiles/blender_icons.svg + ../../../../release/datafiles/blender_icons32.png + 180 SRC) data_to_c_simple(../../../../release/datafiles/blender_icons32.png SRC) + svg_to_png(../../../../release/datafiles/prvicons.svg + ../../../../release/datafiles/prvicons.png + 90 SRC) data_to_c_simple(../../../../release/datafiles/prvicons.png SRC) # brushes