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)
|
||||
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})
|
||||
add_custom_command (OUTPUT ${ico}
|
||||
COMMAND ${icotool_EXECUTABLE} -c -o ${ico} ${pngs}
|
||||
DEPENDS ${pngs}
|
||||
COMMAND ${icotool_EXECUTABLE} -c -o ${ico} ${_raws} -- ${pngs}
|
||||
DEPENDS ${pngs} ${pngs_raw}
|
||||
COMMENT "Generating Windows program icon" VERBATIM)
|
||||
endfunction ()
|
||||
|
||||
|
@ -57,13 +62,16 @@ endfunction ()
|
|||
set (icon_ico_list)
|
||||
foreach (icon xW xW-highlighted)
|
||||
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_size} ${PROJECT_BINARY_DIR}/icons icon_png)
|
||||
list (APPEND icon_png_list ${icon_png})
|
||||
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)
|
||||
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})
|
||||
endforeach ()
|
||||
|
||||
|
|
Loading…
Reference in New Issue