wesnoth/cmake/ShrinkImages.cmake
2009-04-28 21:15:21 +00:00

33 lines
1.3 KiB
CMake

separate_arguments(IMAGE_FILES)
file(GLOB_RECURSE IMAGES RELATIVE ${CMAKE_SOURCE_DIR} ${IMAGE_FILES})
foreach(IMAGE ${IMAGES})
if(NOT EXISTS ${IMAGE_BUILD_DIR}/${IMAGE} OR ${IMAGE} IS_NEWER_THAN ${IMAGE_BUILD_DIR}/${IMAGE})
execute_process(COMMAND ${IMAGEMAGICK_IDENTIFY_EXECUTABLE}
${IMAGE}
OUTPUT_VARIABLE IMAGE_PROP)
if(IMAGE_PROP MATCHES " 1024x768 ")
set(SIZE "320x240")
elseif(IMAGE_PROP MATCHES " 640x480 ")
set(SIZE "240x180")
elseif(IMAGE_PROP MATCHES " 205x205 ")
set(SIZE "80x80")
else(IMAGE_PROP MATCHES " 1024x768 ")
set(SIZE "50%")
endif(IMAGE_PROP MATCHES " 1024x768 ")
#copy the image first to create all subdirectories
execute_process(COMMAND ${CMAKE_COMMAND}
-E copy_if_different ${IMAGE} ${IMAGE_BUILD_DIR}/${IMAGE})
if(NOT ${IMAGE} STREQUAL "images/misc/bar-energy-tinygui.png")
execute_process(COMMAND ${IMAGEMAGICK_CONVERT_EXECUTABLE}
-filter point -resize ${SIZE} ${IMAGE} ${IMAGE_BUILD_DIR}/${IMAGE})
endif(NOT ${IMAGE} STREQUAL "images/misc/bar-energy-tinygui.png")
message(STATUS "Generating ${IMAGE}")
endif(NOT EXISTS ${IMAGE_BUILD_DIR}/${IMAGE} OR ${IMAGE} IS_NEWER_THAN ${IMAGE_BUILD_DIR}/${IMAGE})
endforeach(IMAGE ${IMAGES})