Refactor the new icon installation code.

It's horribly repetitive, and we had a list of all the icons' pixel
sizes anyway!
This commit is contained in:
Simon Tatham
2023-07-14 08:40:06 +01:00
parent c99fbed8c9
commit 6de17a7511

View File

@ -110,20 +110,13 @@ function(set_platform_puzzle_target_properties NAME TARGET)
install(TARGETS ${TARGET}) install(TARGETS ${TARGET})
endif() endif()
configure_file(${CMAKE_SOURCE_DIR}/puzzle.desktop.in ${binary_name}.desktop) configure_file(${CMAKE_SOURCE_DIR}/puzzle.desktop.in ${binary_name}.desktop)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/${NAME}-16d24.png foreach(icon_size ${all_icon_sizes})
DESTINATION share/icons/hicolor/16x16/apps OPTIONAL RENAME ${binary_name}.png) install(
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/${NAME}-24d24.png FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/${NAME}-${icon_size}d24.png
DESTINATION share/icons/hicolor/24x24/apps OPTIONAL RENAME ${binary_name}.png) DESTINATION share/icons/hicolor/${icon_size}x${icon_size}/apps
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/${NAME}-32d24.png OPTIONAL
DESTINATION share/icons/hicolor/32x32/apps OPTIONAL RENAME ${binary_name}.png) RENAME ${binary_name}.png)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/icons/${NAME}-48d24.png endforeach()
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)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${binary_name}.desktop install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${binary_name}.desktop
DESTINATION share/applications) DESTINATION share/applications)
endif() endif()