From 58cc86bc5b11c3d5314c3214638e43022e89c8da Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 11 Jan 2016 16:58:54 -0800 Subject: [PATCH] add a file for NSIS post install options --- cmake/macros/GenerateInstallers.cmake | 8 +++++++- cmake/templates/CPackProperties.cmake.in | 1 + cmake/templates/NSIS.PostInstall.ini.in | 10 ++++++++++ cmake/templates/NSIS.template.in | 7 +++++++ 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 cmake/templates/NSIS.PostInstall.ini.in diff --git a/cmake/macros/GenerateInstallers.cmake b/cmake/macros/GenerateInstallers.cmake index 17d6a861f7..6c529b6c02 100644 --- a/cmake/macros/GenerateInstallers.cmake +++ b/cmake/macros/GenerateInstallers.cmake @@ -22,7 +22,13 @@ macro(GENERATE_INSTALLERS) set(CPACK_NSIS_PACKAGE_NAME ${_DISPLAY_NAME}) set(CPACK_PACKAGE_INSTALL_DIRECTORY ${_DISPLAY_NAME}) - # configure a cpack properties file for custom installation options + # configure the post install options file for custom installation options + if (WIN32) + set(POST_INSTALL_OPTIONS_PATH "${CMAKE_CURRENT_BINARY_DIR}/NSIS.PostInstallOptions.ini") + configure_file("${HF_CMAKE_DIR}/template/NSIS.PostInstallOptions.ini.in" ${POST_INSTALL_OPTIONS_PATH}) + endif () + + # configure a cpack properties file for custom variables in NSIS template set(CPACK_CONFIGURED_PROP_FILE "${CMAKE_CURRENT_BINARY_DIR}/CPackCustomProperties.cmake") configure_file("${HF_CMAKE_DIR}/templates/CPackProperties.cmake.in" ${CPACK_CONFIGURED_PROP_FILE}) set(CPACK_PROPERTIES_FILE ${CPACK_CONFIGURED_PROP_FILE}) diff --git a/cmake/templates/CPackProperties.cmake.in b/cmake/templates/CPackProperties.cmake.in index 510c004441..00961690c4 100644 --- a/cmake/templates/CPackProperties.cmake.in +++ b/cmake/templates/CPackProperties.cmake.in @@ -15,3 +15,4 @@ set(CONSOLE_SHORTCUT_NAME "@CONSOLE_SM_SHORTCUT_NAME@") 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@") diff --git a/cmake/templates/NSIS.PostInstall.ini.in b/cmake/templates/NSIS.PostInstall.ini.in new file mode 100644 index 0000000000..bab6290924 --- /dev/null +++ b/cmake/templates/NSIS.PostInstall.ini.in @@ -0,0 +1,10 @@ +[Settings] +NumFields = 3 + +[Field 1] +Type=checkBox +Text=Create a desktop shortcut for High Fidelity +Left=0 +Right=-1 +Top=0 +Bottom=20 diff --git a/cmake/templates/NSIS.template.in b/cmake/templates/NSIS.template.in index 24624f54c8..9b896e6b64 100644 --- a/cmake/templates/NSIS.template.in +++ b/cmake/templates/NSIS.template.in @@ -562,6 +562,7 @@ FunctionEnd @CPACK_NSIS_PAGE_COMPONENTS@ !insertmacro MUI_PAGE_INSTFILES + Page custom PostInstallOptionsPage !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_CONFIRM @@ -763,6 +764,12 @@ Function InstallOptionsPage FunctionEnd +Function PostInstallOptionsPage + ReserveFile "@POST_INSTALL_OPTIONS_PATH@" + !insertmacro MUI_INSTALLOPTIONS_EXTRACT "@POST_INSTALL_OPTIONS_PATH@" + !insertmacro MUI_INSTALLOPTIONS_DISPLAY "@POST_INSTALL_OPTIONS_PATH@" +FunctionEnd + ;-------------------------------- ; determine admin versus local install Function un.onInit