From aa8acea3982582cb8e20f69ec897aed6dd31a0a5 Mon Sep 17 00:00:00 2001 From: David Cole Date: Sat, 21 Apr 2012 11:33:58 -0400 Subject: CPack/NSIS: Add CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS (#13085) Allows custom NSIS commands to run prior to any installation actions. Projects that need to run an uninstaller first, especially one from a non-NSIS previous revision of a project that is NOW using CPack and NSIS, may do so by putting custom NSIS commands into this variable. Inspired-by: David Golub --- Modules/CPackNSIS.cmake | 14 +++++++++++--- Modules/NSIS.template.in | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Modules/CPackNSIS.cmake b/Modules/CPackNSIS.cmake index 5e2ba17..66c33a8 100644 --- a/Modules/CPackNSIS.cmake +++ b/Modules/CPackNSIS.cmake @@ -31,13 +31,21 @@ ##end # ##variable -# CPACK_NSIS_EXTRA_INSTALL_COMMANDS - Extra NSIS commands that will -# be added to the install Section. +# CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS - Extra NSIS commands that +# will be added to the beginning of the install Section, before your +# install tree is available on the target system. +##end +# +##variable +# CPACK_NSIS_EXTRA_INSTALL_COMMANDS - Extra NSIS commands that +# will be added to the end of the install Section, after your +# install tree is available on the target system. ##end # ##variable # CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS - Extra NSIS commands that will -# be added to the uninstall Section. +# be added to the uninstall Section, before your install tree is +# removed from the target system. ##end # ##variable diff --git a/Modules/NSIS.template.in b/Modules/NSIS.template.in index 819cc5c..e7edead 100644 --- a/Modules/NSIS.template.in +++ b/Modules/NSIS.template.in @@ -637,6 +637,7 @@ Section "-Core installation" ;Use the entire tree produced by the INSTALL target. Keep the ;list of directories here in sync with the RMDir commands below. SetOutPath "$INSTDIR" + @CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS@ @CPACK_NSIS_FULL_INSTALL@ ;Store installation folder -- cgit v0.12