summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2012-04-21 15:33:58 (GMT)
committerDavid Cole <david.cole@kitware.com>2012-04-21 15:36:25 (GMT)
commitaa8acea3982582cb8e20f69ec897aed6dd31a0a5 (patch)
treeaaf0b0aff66400c21890bb98da4f9f710b9a8d36
parent2809379f15617fac97c6328e4241cab3212ee5ab (diff)
downloadCMake-aa8acea3982582cb8e20f69ec897aed6dd31a0a5.zip
CMake-aa8acea3982582cb8e20f69ec897aed6dd31a0a5.tar.gz
CMake-aa8acea3982582cb8e20f69ec897aed6dd31a0a5.tar.bz2
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
-rw-r--r--Modules/CPackNSIS.cmake14
-rw-r--r--Modules/NSIS.template.in1
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