shithub: puzzles

Download patch

ref: c99fbed8c9d957de5b2094b54c7ec7e38979d770
parent: 02cdafaa15eb5c2ccde76bbe1f1dcb0e893f4cec
author: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date: Thu Jul 13 15:30:05 EDT 2023

Install the icons to the right location on Linux

That way, any application displaying the .desktop with its icon will
pick the icon size it deems the best one for the current rendering.

See the Icon Theme Specification:
https://specifications.freedesktop.org/icon-theme-spec/latest/ar01s07.html

Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>

--- a/cmake/platforms/unix.cmake
+++ b/cmake/platforms/unix.cmake
@@ -110,8 +110,20 @@
       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/pixmaps OPTIONAL RENAME ${binary_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)
     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${binary_name}.desktop
       DESTINATION share/applications)
   endif()
--- a/puzzle.desktop.in
+++ b/puzzle.desktop.in
@@ -4,7 +4,7 @@
 Name=${displayname}
 Comment=${description}
 Exec=${binary_name}
-Icon=${binary_name}-48d24
+Icon=${binary_name}
 StartupNotify=false
 Categories=Game;LogicGame;
 Terminal=false