summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohnny Jazeix <jazeix@gmail.com>2021-02-21 15:29:11 (GMT)
committerJohnny Jazeix <jazeix@gmail.com>2021-02-22 16:59:04 (GMT)
commit8e8b99d01a6b2ce266a9401f760f4814a69e4853 (patch)
tree56286b6821969625a59ff4a729b31a1cb3c474f7
parent7aad4df2ff3bb18817e480372d484f8977036033 (diff)
downloadCMake-8e8b99d01a6b2ce266a9401f760f4814a69e4853.zip
CMake-8e8b99d01a6b2ce266a9401f760f4814a69e4853.tar.gz
CMake-8e8b99d01a6b2ce266a9401f760f4814a69e4853.tar.bz2
CPack/NSIS: Add option for setting custom makensis executable
It allows users to set a custom one without changing the PATH environment variable. Fixes: #21733
-rw-r--r--Help/cpack_gen/nsis.rst6
-rw-r--r--Help/release/dev/cpack-nsis-executable-name.rst6
-rw-r--r--Source/CPack/cmCPackNSISGenerator.cxx4
3 files changed, 15 insertions, 1 deletions
diff --git a/Help/cpack_gen/nsis.rst b/Help/cpack_gen/nsis.rst
index eaef8ae..964f629 100644
--- a/Help/cpack_gen/nsis.rst
+++ b/Help/cpack_gen/nsis.rst
@@ -193,3 +193,9 @@ on Windows Nullsoft Scriptable Install System.
.. versionadded:: 3.20
If set, trim down the size of the control to the size of the branding text string.
+
+.. variable:: CPACK_NSIS_EXECUTABLE
+
+ .. versionadded:: 3.21
+
+ If set, specify the name of the NSIS executable. Default is ``makensis``.
diff --git a/Help/release/dev/cpack-nsis-executable-name.rst b/Help/release/dev/cpack-nsis-executable-name.rst
new file mode 100644
index 0000000..a3818db
--- /dev/null
+++ b/Help/release/dev/cpack-nsis-executable-name.rst
@@ -0,0 +1,6 @@
+cpack-nsis-executable-name
+--------------------------
+
+* The :cpack_gen:`CPack NSIS Generator` gained a new variable
+ :variable:`CPACK_NSIS_EXECUTABLE` to specify the makensis
+ executable to use instead of the default one.
diff --git a/Source/CPack/cmCPackNSISGenerator.cxx b/Source/CPack/cmCPackNSISGenerator.cxx
index 263adfd..9b00704 100644
--- a/Source/CPack/cmCPackNSISGenerator.cxx
+++ b/Source/CPack/cmCPackNSISGenerator.cxx
@@ -430,7 +430,9 @@ int cmCPackNSISGenerator::InitializeInternal()
}
#endif
- nsisPath = cmSystemTools::FindProgram("makensis", path, false);
+ this->SetOptionIfNotSet("CPACK_NSIS_EXECUTABLE", "makensis");
+ nsisPath = cmSystemTools::FindProgram(
+ this->GetOption("CPACK_NSIS_EXECUTABLE"), path, false);
if (nsisPath.empty()) {
cmCPackLogger(