Allow disabling default cropping
This commit is contained in:
parent
925688bcf4
commit
056fad7732
|
@ -10,21 +10,32 @@ if(MINGW)
|
|||
find_template_file("windows.rc" CPP_UTILITIES RC_TEMPLATE_FILE)
|
||||
|
||||
# create Windows icon from png with ffmpeg if available
|
||||
set(WINDOWS_ICON_PATH "")
|
||||
set(WINDOWS_ICON_RC_ENTRY "")
|
||||
unset(WINDOWS_ICON_PATH)
|
||||
unset(WINDOWS_ICON_RC_ENTRY)
|
||||
find_program(FFMPEG_BIN ffmpeg avconv)
|
||||
if(FFMPEG_BIN)
|
||||
if(NOT "${PNG_ICON_PATH}")
|
||||
if(NOT PNG_ICON_PATH)
|
||||
set(PNG_ICON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/resources/icons/hicolor/128x128/apps/${META_PROJECT_NAME}.png")
|
||||
set(USING_DEFAULT_PNG_ICON_PATH true)
|
||||
endif()
|
||||
if(PNG_ICON_NO_CROP)
|
||||
unset(PNG_ICON_CROP)
|
||||
elseif(NOT PNG_ICON_CROP)
|
||||
# default cropping
|
||||
set(PNG_ICON_CROP "iw-20:ih-20:10:10")
|
||||
endif()
|
||||
if(EXISTS "${PNG_ICON_PATH}")
|
||||
set(WINDOWS_ICON_PATH "${CMAKE_CURRENT_BINARY_DIR}/${META_PROJECT_NAME}.ico")
|
||||
set(WINDOWS_ICON_PATH "${CMAKE_CURRENT_BINARY_DIR}/resources/${META_PROJECT_NAME}.ico")
|
||||
set(WINDOWS_ICON_RC_ENTRY "IDI_ICON1 ICON DISCARDABLE \"${WINDOWS_ICON_PATH}\"")
|
||||
add_custom_command(
|
||||
OUTPUT "${WINDOWS_ICON_PATH}"
|
||||
COMMAND ${FFMPEG_BIN} -y -i "${PNG_ICON_PATH}" -vf crop=iw-20:ih-20:10:10,scale=64:64 "${WINDOWS_ICON_PATH}"
|
||||
COMMAND ${FFMPEG_BIN} -y -i "${PNG_ICON_PATH}" -vf crop=${PNG_ICON_CROP},scale=64:64 "${WINDOWS_ICON_PATH}"
|
||||
)
|
||||
message(STATUS "Generating Windows icon from \"${PNG_ICON_PATH}\" via ${FFMPEG_BIN}.")
|
||||
elseif(NOT USING_DEFAULT_PNG_ICON_PATH)
|
||||
message(FATAL_ERROR "The specified PNG_ICON_PATH \"${PNG_ICON_PATH}\" is invalid.")
|
||||
endif()
|
||||
unset(USING_DEFAULT_PNG_ICON_PATH)
|
||||
endif(FFMPEG_BIN)
|
||||
|
||||
# create Windows rc file from template
|
||||
|
|
Loading…
Reference in New Issue