xW: store the largest program icon in PNG format
This shaves off about half a megabyte.
This commit is contained in:
		
							parent
							
								
									90859107c8
								
							
						
					
					
						commit
						6f02af814f
					
				| @ -45,11 +45,16 @@ function (icon_to_png name svg size output_dir output) | |||||||
| 		COMMENT "Generating ${name} ${_dimensions} application icon" VERBATIM) | 		COMMENT "Generating ${name} ${_dimensions} application icon" VERBATIM) | ||||||
| endfunction () | endfunction () | ||||||
| 
 | 
 | ||||||
| function (icon_for_win32 pngs ico) | function (icon_for_win32 ico pngs pngs_raw) | ||||||
|  | 	set (_raws) | ||||||
|  | 	foreach (png ${pngs_raw}) | ||||||
|  | 		list (APPEND _raws "--raw=${png}") | ||||||
|  | 	endforeach () | ||||||
|  | 
 | ||||||
| 	find_program (icotool_EXECUTABLE icotool ${find_program_REQUIRE}) | 	find_program (icotool_EXECUTABLE icotool ${find_program_REQUIRE}) | ||||||
| 	add_custom_command (OUTPUT ${ico} | 	add_custom_command (OUTPUT ${ico} | ||||||
| 		COMMAND ${icotool_EXECUTABLE} -c -o ${ico} ${pngs} | 		COMMAND ${icotool_EXECUTABLE} -c -o ${ico} ${_raws} -- ${pngs} | ||||||
| 		DEPENDS ${pngs} | 		DEPENDS ${pngs} ${pngs_raw} | ||||||
| 		COMMENT "Generating Windows program icon" VERBATIM) | 		COMMENT "Generating Windows program icon" VERBATIM) | ||||||
| endfunction () | endfunction () | ||||||
| 
 | 
 | ||||||
| @ -57,13 +62,16 @@ endfunction () | |||||||
| set (icon_ico_list) | set (icon_ico_list) | ||||||
| foreach (icon xW xW-highlighted) | foreach (icon xW xW-highlighted) | ||||||
| 	set (icon_png_list) | 	set (icon_png_list) | ||||||
| 	foreach (icon_size 16 32 48 256) | 	foreach (icon_size 16 32 48) | ||||||
| 		icon_to_png (${icon} ${PROJECT_SOURCE_DIR}/${icon}.svg | 		icon_to_png (${icon} ${PROJECT_SOURCE_DIR}/${icon}.svg | ||||||
| 			${icon_size} ${PROJECT_BINARY_DIR}/icons icon_png) | 			${icon_size} ${PROJECT_BINARY_DIR}/icons icon_png) | ||||||
| 		list (APPEND icon_png_list ${icon_png}) | 		list (APPEND icon_png_list ${icon_png}) | ||||||
| 	endforeach () | 	endforeach () | ||||||
|  | 	icon_to_png (${icon} ${PROJECT_SOURCE_DIR}/${icon}.svg | ||||||
|  | 		256 ${PROJECT_BINARY_DIR}/icons icon_png) | ||||||
|  | 
 | ||||||
| 	set (icon_ico ${PROJECT_BINARY_DIR}/${icon}.ico) | 	set (icon_ico ${PROJECT_BINARY_DIR}/${icon}.ico) | ||||||
| 	icon_for_win32 ("${icon_png_list}" ${icon_ico}) | 	icon_for_win32 (${icon_ico} "${icon_png_list}" "${icon_png}") | ||||||
| 	list (APPEND icon_ico_list ${icon_ico}) | 	list (APPEND icon_ico_list ${icon_ico}) | ||||||
| endforeach () | endforeach () | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user