Signed-off-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Signed-off-by: Coia Prant <coiaprant@gmail.com> Co-authored-by: Ricky8955555 <rkmiao@duck.com> Co-authored-by: Mike Fara <mjfara@gmail.com> Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
71 lines
2.8 KiB
CMake
71 lines
2.8 KiB
CMake
# NSIS Packaging
|
|
# see options at: https://cmake.org/cmake/help/latest/cpack_gen/nsis.html
|
|
|
|
set(CPACK_NSIS_INSTALLED_ICON_NAME "${PROJECT__DIR}\\\\${PROJECT_EXE}")
|
|
|
|
# Enable detailed logging only on AMD64
|
|
if(CMAKE_SYSTEM_PROCESSOR MATCHES "AMD64")
|
|
set(NSIS_LOGSET_COMMAND "LogSet on")
|
|
else()
|
|
set(NSIS_LOGSET_COMMAND "")
|
|
endif()
|
|
|
|
# Extra install commands
|
|
# Runs the main setup script which handles all installation tasks
|
|
SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
|
|
"${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}
|
|
${NSIS_LOGSET_COMMAND}
|
|
IfSilent +3 0
|
|
nsExec::ExecToLog \
|
|
'powershell -ExecutionPolicy Bypass \
|
|
-File \\\"$INSTDIR\\\\scripts\\\\sunshine-setup.ps1\\\" -Action install'
|
|
Goto +2
|
|
nsExec::ExecToLog \
|
|
'powershell -ExecutionPolicy Bypass \
|
|
-File \\\"$INSTDIR\\\\scripts\\\\sunshine-setup.ps1\\\" -Action install -Silent'
|
|
install_done:
|
|
")
|
|
|
|
# Extra uninstall commands
|
|
# Runs the main setup script which handles all uninstallation tasks
|
|
set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
|
|
"${CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS}
|
|
${NSIS_LOGSET_COMMAND}
|
|
nsExec::ExecToLog \
|
|
'powershell -ExecutionPolicy Bypass \
|
|
-File \\\"$INSTDIR\\\\scripts\\\\sunshine-setup.ps1\\\" -Action uninstall'
|
|
MessageBox MB_YESNO|MB_ICONQUESTION \
|
|
'Do you want to remove $INSTDIR (this includes the configuration, cover images, and settings)?' \
|
|
/SD IDNO IDNO no_delete
|
|
RMDir /r \\\"$INSTDIR\\\"; skipped if no
|
|
no_delete:
|
|
")
|
|
|
|
# Adding an option for the start menu
|
|
set(CPACK_NSIS_MODIFY_PATH OFF)
|
|
set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".")
|
|
# This will be shown on the installed apps Windows settings
|
|
set(CPACK_NSIS_INSTALLED_ICON_NAME "${CMAKE_PROJECT_NAME}.exe")
|
|
set(CPACK_NSIS_CREATE_ICONS_EXTRA
|
|
"${CPACK_NSIS_CREATE_ICONS_EXTRA}
|
|
SetOutPath '\$INSTDIR'
|
|
CreateShortCut '\$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\${CMAKE_PROJECT_NAME}.lnk' \
|
|
'\$INSTDIR\\\\${CMAKE_PROJECT_NAME}.exe' '--shortcut'
|
|
")
|
|
set(CPACK_NSIS_DELETE_ICONS_EXTRA
|
|
"${CPACK_NSIS_DELETE_ICONS_EXTRA}
|
|
Delete '\$SMPROGRAMS\\\\$MUI_TEMP\\\\${CMAKE_PROJECT_NAME}.lnk'
|
|
")
|
|
|
|
# Checking for previous installed versions
|
|
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "ON")
|
|
|
|
set(CPACK_NSIS_HELP_LINK "https://docs.lizardbyte.dev/projects/sunshine/latest/md_docs_2getting__started.html")
|
|
set(CPACK_NSIS_URL_INFO_ABOUT "${CMAKE_PROJECT_HOMEPAGE_URL}")
|
|
set(CPACK_NSIS_CONTACT "${CMAKE_PROJECT_HOMEPAGE_URL}/support")
|
|
|
|
set(CPACK_NSIS_MENU_LINKS
|
|
"https://docs.lizardbyte.dev/projects/sunshine" "Sunshine documentation"
|
|
"https://app.lizardbyte.dev" "LizardByte Web Site"
|
|
"https://app.lizardbyte.dev/support" "LizardByte Support")
|
|
set(CPACK_NSIS_MANIFEST_DPI_AWARE true)
|