summary refs log tree commit diff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt30
1 files changed, 17 insertions, 13 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7cbdc2e..bc9e0d6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -90,23 +90,27 @@ foreach(game ${games})
 		VERBATIM
 	)
 	if(APPLE)
-		add_custom_command(
-			OUTPUT ${shouting}.PNG
-			COMMAND ico2png ${shouting}.ICO
-			DEPENDS ${shouting}.ICO
-			VERBATIM
-		)
 		file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${game}.iconset)
-		add_custom_command(
-			OUTPUT ${game}.iconset/icon_32x32.png
-			COMMAND cp ${shouting}.PNG ${game}.iconset/icon_32x32.png
-			DEPENDS ${shouting}.PNG
-			VERBATIM
-		)
+		foreach(scale 1 2 4 8 16)
+			math(EXPR size "32 * ${scale}")
+			add_custom_command(
+				OUTPUT ${game}.iconset/icon_${size}x${size}.png
+				COMMAND ico2png
+					${shouting}.ICO ${scale}x
+					${game}.iconset/icon_${size}x${size}.png
+				DEPENDS ${shouting}.ICO
+				VERBATIM
+			)
+		endforeach()
 		add_custom_command(
 			OUTPUT ${game}.icns
 			COMMAND iconutil -c icns ${game}.iconset
-			DEPENDS ${game}.iconset/icon_32x32.png
+			DEPENDS
+				${game}.iconset/icon_32x32.png
+				${game}.iconset/icon_64x64.png
+				${game}.iconset/icon_128x128.png
+				${game}.iconset/icon_256x256.png
+				${game}.iconset/icon_512x512.png
 			VERBATIM
 		)
 		target_sources(${game} PRIVATE ${game}.icns)