From 39b89dcf992d1317666474de70f9c3bfa5ec7d15 Mon Sep 17 00:00:00 2001 From: "Daniele E. Domenichelli" Date: Fri, 8 Aug 2014 20:13:44 +0200 Subject: [PATCH] Improve binary package generation on windows --- internal-modules/YCMPack.cmake | 62 +++++++++++++++++++++++++++------ tools/installer/welcome.txt | 1 + tools/installer/ycm.ico | Bin 0 -> 285478 bytes tools/installer/ycm_banner.bmp | Bin 0 -> 114514 bytes tools/installer/ycm_dialog.bmp | Bin 0 -> 615402 bytes 5 files changed, 52 insertions(+), 11 deletions(-) create mode 100644 tools/installer/welcome.txt create mode 100644 tools/installer/ycm.ico create mode 100644 tools/installer/ycm_banner.bmp create mode 100644 tools/installer/ycm_dialog.bmp diff --git a/internal-modules/YCMPack.cmake b/internal-modules/YCMPack.cmake index 2f4d252c7..1fbaa9ce1 100755 --- a/internal-modules/YCMPack.cmake +++ b/internal-modules/YCMPack.cmake @@ -14,28 +14,68 @@ # (To distribute this file outside of YCM, substitute the full # License text for the above reference.) -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Extra CMake Modules for YARP and friends") +set(CPACK_PACKAGE_NAME "YCM") set(CPACK_PACKAGE_VENDOR "iCub Facility, Istituto Italiano di Tecnologia") + +set(CPACK_PACKAGE_VERSION_MAJOR "${YCM_VERSION_MAJOR}") +set(CPACK_PACKAGE_VERSION_MINOR "${YCM_VERSION_MINOR}") +set(CPACK_PACKAGE_VERSION_PATCH "${YCM_VERSION_PATCH}") +set(CPACK_PACKAGE_VERSION "${YCM_VERSION_PACKAGE}") + set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Extra CMake Modules for YARP and friends") +set(CPACK_PACKAGE_INSTALL_DIRECTORY "robotology/ycm-${YCM_VERSION_API}") set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/Copyright.txt") -set(CPACK_PACKAGE_VERSION_MAJOR ${YCM_VERSION_MAJOR}) -set(CPACK_PACKAGE_VERSION_MINOR ${YCM_VERSION_MINOR}) -set(CPACK_PACKAGE_VERSION_PATCH ${YCM_VERSION_PATCH}) -set(CPACK_PACKAGE_VERSION "${YCM_VERSION}") - -set(CPACK_PACKAGE_INSTALL_DIRECTORY "YCM ${YCM_VERSION_MAJOR}.${YCM_VERSION_MINOR}") -set(CPACK_PACKAGE_ICON "${YCM_SOURCE_DIR}/docs/static/ycm-favicon.ico") -# On Windows replace slashes in file name with escaped backslashes, as NSIS is picky about Unix paths -# ans using file(TO_NATIVE_PATH) is not enough, as \s are not escaped +set(CPACK_RESOURCE_FILE_WELCOME "${CMAKE_SOURCE_DIR}/tools/installer/welcome.txt") +set(CPACK_PACKAGE_ICON "${YCM_SOURCE_DIR}/tools/installer/ycm.ico") + if(WIN32) - string(REPLACE "/" "\\\\" CPACK_PACKAGE_ICON "${CPACK_PACKAGE_ICON}") + set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAME} ${YCM_VERSION_API}") + # Produce an installer for 64bit windows if("${CMAKE_GENERATOR}" MATCHES "Win64") set(CMAKE_CL_64 TRUE) set(CPACK_WIX_SIZEOF_VOID_P 8) endif() + + # WIX settings + set(CPACK_WIX_UPGRADE_GUID 9130C806-91AD-4CE4-8C3A-2476F71FEF77) + set(CPACK_WIX_CULTURES en-US it-IT) + set(CPACK_WIX_CMAKE_PACKAGE_REGISTRY YCM) + set(CPACK_WIX_PRODUCT_ICON "${CPACK_PACKAGE_ICON}") + set(CPACK_WIX_UI_BANNER "${YCM_SOURCE_DIR}/tools/installer/ycm_banner.bmp") + set(CPACK_WIX_UI_DIALOG "${YCM_SOURCE_DIR}/tools/installer/ycm_dialog.bmp") + set(CPACK_WIX_PROPERTY_ARPCOMMENTS "${CPACK_PACKAGE_DESCRIPTION_SUMMARY}") + set(CPACK_WIX_PROPERTY_ARPHELPLINK "http://robotology.github.io/ycm/") + set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "http://github.com/robotology/ycm/") + set(CPACK_WIX_PROPERTY_URLUPDATEINFO "http://github.com/robotology/ycm/releases/") + + # NSIS settings + set(CPACK_NSIS_PACKAGE_NAME YCM) + set(CPACK_NSIS_DISPLAY_NAME YCM) + set(CPACK_NSIS_MUI_ICON "${CPACK_PACKAGE_ICON}") + set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON) + set(CPACK_NSIS_MODIFY_PATH OFF) + set(CPACK_NSIS_HELP_LINK "http://robotology.github.io/ycm/") + set(CPACK_NSIS_URL_INFO_ABOUT "http://github.com/robotology/ycm/") + set(CPACK_NSIS_CONTACT "daniele.domenichelli@iit.it") + + # On Windows replace slashes in file name with escaped backslashes, + # as NSIS is picky about Unix paths and using file(TO_NATIVE_PATH) + # is not enough, as \s are not escaped + foreach(_var CPACK_PACKAGE_DESCRIPTION_FILE + CPACK_PACKAGE_INSTALL_DIRECTORY + CPACK_RESOURCE_FILE_LICENSE + CPACK_RESOURCE_FILE_WELCOME + CPACK_PACKAGE_ICON + CPACK_WIX_UI_BANNER + CPACK_WIX_UI_DIALOG + CPACK_NSIS_MUI_ICON) + string(REPLACE "/" "\\\\" ${_var} "${${_var}}") + endforeach() endif() +# Source package settings if(EXISTS ${CMAKE_SOURCE_DIR}/.gitignore) file(STRINGS ${CMAKE_SOURCE_DIR}/.gitignore CPACK_SOURCE_IGNORE_FILES) list(REMOVE_ITEM CPACK_SOURCE_IGNORE_FILES "/downloads/") diff --git a/tools/installer/welcome.txt b/tools/installer/welcome.txt new file mode 100644 index 000000000..b9c2a49fa --- /dev/null +++ b/tools/installer/welcome.txt @@ -0,0 +1 @@ +Welcome to YCM installation. This program will guide you through the installation of YCM. diff --git a/tools/installer/ycm.ico b/tools/installer/ycm.ico new file mode 100644 index 0000000000000000000000000000000000000000..ccbfdf8113d65d8dd41bcec76e11902886c227d4 GIT binary patch literal 285478 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

P3FMu@26<= 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 K_JK0ALj44vAobP& literal 0 HcmV?d00001 diff --git a/tools/installer/ycm_banner.bmp b/tools/installer/ycm_banner.bmp new file mode 100644 index 0000000000000000000000000000000000000000..6b8f55dabddeea2d7db3e3f9a3300d5eade42f83 GIT binary patch literal 114514 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 pfB*srAbb literal 0 HcmV?d00001 diff --git a/tools/installer/ycm_dialog.bmp b/tools/installer/ycm_dialog.bmp new file mode 100644 index 0000000000000000000000000000000000000000..16ebbefb6e693aa651d9e5310412a7557094e3ee GIT binary patch literal 615402 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