|
|
@@ -1,14 +1,16 @@ |
|
|
|
set(ICON_SIZES 16 22 24 32 48 64 128) |
|
|
|
set(LINUX_ICON_SIZES 16 22 24 32 48 64 128) |
|
|
|
set(WINDOWS_ICON_SIZES 16 24 32 48 256) |
|
|
|
|
|
|
|
find_program(CONVERT_EXECUTABLE convert) |
|
|
|
|
|
|
|
if(CONVERT_EXECUTABLE) |
|
|
|
foreach(SIZE ${ICON_SIZES}) |
|
|
|
set(ICON_FILES icons/tigervnc.ico) |
|
|
|
foreach(SIZE ${LINUX_ICON_SIZES}) |
|
|
|
list(APPEND ICON_FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_${SIZE}.png) |
|
|
|
endforeach() |
|
|
|
add_custom_target(icons DEPENDS ${ICON_FILES}) |
|
|
|
|
|
|
|
foreach(SIZE ${ICON_SIZES}) |
|
|
|
foreach(SIZE ${LINUX_ICON_SIZES} ${WINDOWS_ICON_SIZES}) |
|
|
|
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_${SIZE}.svg) |
|
|
|
set(ICON_SRC_FILE ${CMAKE_CURRENT_SOURCE_DIR}/tigervnc_${SIZE}.svg) |
|
|
|
else() |
|
|
@@ -21,4 +23,18 @@ if(CONVERT_EXECUTABLE) |
|
|
|
DEPENDS ${ICON_SRC_FILE} |
|
|
|
COMMENT "Generating icons/tigervnc_${SIZE}.png") |
|
|
|
endforeach() |
|
|
|
|
|
|
|
foreach(SIZE ${WINDOWS_ICON_SIZES}) |
|
|
|
if(${SIZE} LESS_EQUAL 32) |
|
|
|
list(APPEND ICO_LEGACY \\\( ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_${SIZE}.png -depth 4 -colors 16 \\\)) |
|
|
|
list(APPEND ICO_LEGACY \\\( ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_${SIZE}.png -depth 8 -colors 256 \\\)) |
|
|
|
endif() |
|
|
|
list(APPEND ICO_NORMAL \\\( ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_${SIZE}.png \\\)) |
|
|
|
list(APPEND ICO_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc_${SIZE}.png) |
|
|
|
endforeach() |
|
|
|
add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc.ico |
|
|
|
COMMAND ${CONVERT_EXECUTABLE} ${ICO_LEGACY} ${ICO_NORMAL} |
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/icons/tigervnc.ico |
|
|
|
DEPENDS ${ICO_DEPENDS} |
|
|
|
COMMENT "Generating icons/tigervnc.ico") |
|
|
|
endif() |