ref: 6de17a7511bf67e999c450851d5bc9e4892367bb
parent: c99fbed8c9d957de5b2094b54c7ec7e38979d770
author: Simon Tatham <anakin@pobox.com>
date: Fri Jul 14 04:40:06 EDT 2023
Refactor the new icon installation code. It's horribly repetitive, and we had a list of all the icons' pixel sizes anyway!
--- a/cmake/platforms/unix.cmake
+++ b/cmake/platforms/unix.cmake
@@ -110,20 +110,13 @@
install(TARGETS ${TARGET})
endif()
configure_file(${CMAKE_SOURCE_DIR}/puzzle.desktop.in ${binary_name}.desktop)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/${NAME}-16d24.png
- DESTINATION share/icons/hicolor/16x16/apps OPTIONAL RENAME ${binary_name}.png)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/${NAME}-24d24.png
- DESTINATION share/icons/hicolor/24x24/apps OPTIONAL RENAME ${binary_name}.png)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/${NAME}-32d24.png
- DESTINATION share/icons/hicolor/32x32/apps OPTIONAL RENAME ${binary_name}.png)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/${NAME}-48d24.png
- DESTINATION share/icons/hicolor/48x48/apps OPTIONAL RENAME ${binary_name}.png)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/${NAME}-64d24.png
- DESTINATION share/icons/hicolor/64x64/apps OPTIONAL RENAME ${binary_name}.png)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/${NAME}-96d24.png
- DESTINATION share/icons/hicolor/96x96/apps OPTIONAL RENAME ${binary_name}.png)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/${NAME}-128d24.png
- DESTINATION share/icons/hicolor/128x128/apps OPTIONAL RENAME ${binary_name}.png)
+ foreach(icon_size ${all_icon_sizes})
+ install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/${NAME}-${icon_size}d24.png
+ DESTINATION share/icons/hicolor/${icon_size}x${icon_size}/apps
+ OPTIONAL
+ RENAME ${binary_name}.png)
+ endforeach()
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${binary_name}.desktop
DESTINATION share/applications)
endif()