From 26933573c2b664dc2a7a76ad1edec36436a0ebe2 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 12 Jan 2016 11:55:45 -0800 Subject: [PATCH] handle desktop shortcut for console, startup item --- cmake/templates/CPackProperties.cmake.in | 2 ++ cmake/templates/NSIS.template.in | 35 ++++++++++++++++++------ 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/cmake/templates/CPackProperties.cmake.in b/cmake/templates/CPackProperties.cmake.in index 00961690c4..5e9caa3482 100644 --- a/cmake/templates/CPackProperties.cmake.in +++ b/cmake/templates/CPackProperties.cmake.in @@ -16,3 +16,5 @@ set(CONSOLE_WIN_EXEC_NAME "@CONSOLE_EXEC_NAME@") set(HIGH_FIDELITY_PROTOCOL "@HIGH_FIDELITY_PROTOCOL@") set(PRODUCTION_BUILD "@PRODUCTION_BUILD@") set(POST_INSTALL_OPTIONS_PATH "@POST_INSTALL_OPTIONS_PATH@") +set(CLIENT_COMPONENT_NAME "@CLIENT_COMPONENT@") +set(SERVER_COMPONENT_NAME "@SERVER_COMPONENT@") diff --git a/cmake/templates/NSIS.template.in b/cmake/templates/NSIS.template.in index a3b5b4bf75..f380c36b28 100644 --- a/cmake/templates/NSIS.template.in +++ b/cmake/templates/NSIS.template.in @@ -699,7 +699,7 @@ Section "-Core installation" @CPACK_NSIS_CREATE_ICONS_EXTRA@ ; Conditional handling for Interface specific options - ${If} ${SectionIsSelected} ${client} + ${If} ${SectionIsSelected} ${@CLIENT_COMPONENT_NAME@} CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\@INTERFACE_SHORTCUT_NAME@.lnk" \ "$INSTDIR\@INTERFACE_WIN_EXEC_NAME@" @@ -714,7 +714,7 @@ Section "-Core installation" ${EndIf} ; Conditional handling for server console shortcut - ${If} ${SectionIsSelected} ${server} + ${If} ${SectionIsSelected} ${@SERVER_COMPONENT_NAME@} CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\@CONSOLE_SHORTCUT_NAME@.lnk" \ "$INSTDIR\@CONSOLE_WIN_EXEC_NAME@" ${EndIf} @@ -790,14 +790,14 @@ Function PostInstallOptionsPage StrCpy $CURRENT_OFFSET "15u" - ${If} ${SectionIsSelected} ${client} + ${If} ${SectionIsSelected} ${@CLIENT_COMPONENT_NAME@} ${NSD_CreateCheckbox} 0 15u 100% 10u "&Create a desktop shortcut for @INTERFACE_SHORTCUT_NAME@" Pop $DESKTOP_CLIENT_CHECKBOX StrCpy $CURRENT_OFFSET "30u" ${NSD_SetState} $DESKTOP_CLIENT_CHECKBOX ${BST_CHECKED} ${EndIf} - ${If} ${SectionIsSelected} ${server} + ${If} ${SectionIsSelected} ${@SERVER_COMPONENT_NAME@} ${NSD_CreateCheckbox} 0 $CURRENT_OFFSET 100% 10u "&Create a desktop shortcut for High Fidelity @CONSOLE_SHORTCUT_NAME@" Pop $DESKTOP_SERVER_CHECKBOX @@ -825,18 +825,35 @@ Function PostInstallOptionsPage nsDialogs::Show FunctionEnd -Var DESKTOP_CLIENT_CHECKBOX_STATE +Var DESKTOP_CLIENT_STATE +Var DESKTOP_SERVER_STATE Function HandlePostInstallOptions - ${If} ${SectionIsSelected} ${client} + ${If} ${SectionIsSelected} ${@CLIENT_COMPONENT_NAME@} ; check if the user asked for a desktop shortcut to High Fidelity - ${NSD_GetState} $DESKTOP_CLIENT_CHECKBOX $DESKTOP_CLIENT_CHECKBOX_STATE + ${NSD_GetState} $DESKTOP_CLIENT_CHECKBOX $DESKTOP_CLIENT_STATE - ${If} $DESKTOP_CLIENT_CHECKBOX_STATE == ${BST_CHECKED} + ${If} $DESKTOP_CLIENT_STATE == ${BST_CHECKED} CreateShortCut "$DESKTOP\@INTERFACE_SHORTCUT_NAME@.lnk" "$INSTDIR\@INTERFACE_WIN_EXEC_NAME@" ${EndIf} ${EndIf} + + ${If} ${SectionIsSelected} ${@SERVER_COMPONENT_NAME@} + ; check if the user asked for a desktop shortcut to Server Console + ${NSD_GetState} $DESKTOP_SERVER_CHECKBOX $DESKTOP_SERVER_STATE + + ${If} $DESKTOP_SERVER_STATE == ${BST_CHECKED} + CreateShortCut "$DESKTOP\@CONSOLE_SHORTCUT_NAME@.lnk" "$INSTDIR\@CONSOLE_WIN_EXEC_NAME@" + ${EndIf} + + ; check if the user asked to have Server Console launched every startup + ${NSD_GetState} $SERVER_STARTUP_CHECKBOX $SERVER_STARTUP_STATE + + ${If} $SERVER_STARTUP_STATE == ${BST_CHECKED} + CreateShortCut "$SMSTARTUP\@CONSOLE_SHORTCUT_NAME@.lnk" "$INSTDIR\@CONSOLE_WIN_EXEC_NAME@" + ${EndIf} + ${EndIf} FunctionEnd ;-------------------------------- @@ -949,6 +966,8 @@ Section "Uninstall" Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk" Delete "$SMPROGRAMS\$MUI_TEMP\@INTERFACE_SHORTCUT_NAME@.lnk" Delete "$SMPROGRAMS\$MUI_TEMP\@CONSOLE_SHORTCUT_NAME@.lnk" + Delete "$DESKTOP\@INTERFACE_SHORTCUT_NAME@.lnk" + Delete "$DESKTOP\@CONSOLE_SHORTCUT_NAME@.lnk" @CPACK_NSIS_DELETE_ICONS@ @CPACK_NSIS_DELETE_ICONS_EXTRA@