Browse Source

CPack/NSIS: Document and check requirement of at least NSIS 3.0

Since commit 9d2816544e (CPack/NSIS: Also preload the "UserInfo.dll"
plugin, 2020-01-04, v3.17.0-rc1~204^2) we require NSIS 3.0.  Since
older versions do not support Windows 8 or above, we can now require
at least version 3.0.

Fixes: #20514
Brad King 5 years ago
parent
commit
aa78a2537c
3 changed files with 19 additions and 3 deletions
  1. 3 1
      Help/cpack_gen/nsis.rst
  2. 14 0
      Help/release/3.17.rst
  3. 2 2
      Source/CPack/cmCPackNSISGenerator.cxx

+ 3 - 1
Help/cpack_gen/nsis.rst

@@ -1,7 +1,9 @@
 CPack NSIS Generator
 --------------------
 
-CPack Nullsoft Scriptable Install System (NSIS) generator specific options
+CPack Nullsoft Scriptable Install System (NSIS) generator specific options.
+
+The NSIS generator requires NSIS 3.0 or newer.
 
 Variables specific to CPack NSIS generator
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

+ 14 - 0
Help/release/3.17.rst

@@ -282,6 +282,8 @@ Deprecated and Removed Features
   option and cannot be fixed without breaking compatibility, and so have
   been superseded.
 
+* The :cpack_gen:`CPack NSIS Generator` now requires NSIS 3.0 or later.
+
 Other Changes
 =============
 
@@ -319,3 +321,15 @@ Other Changes
 
 * The :generator:`Xcode` generator no longer hard-codes ``-Wmost``,
   ``-Wno-four-char-constants``, and ``-Wno-unknown-pragmas`` warning flags.
+
+Updates
+=======
+
+Changes made since CMake 3.17.0 include the following.
+
+3.17.1
+------
+
+* CMake 3.17.0 updated the :cpack_gen:`CPack NSIS Generator` with changes
+  that require NSIS 3.0 or later.  CMake 3.17.1 now enforces the use
+  of a sufficiently new version.

+ 2 - 2
Source/CPack/cmCPackNSISGenerator.cxx

@@ -453,12 +453,12 @@ int cmCPackNSISGenerator::InitializeInternal()
   }
   if (versionRex.find(output)) {
     double nsisVersion = atof(versionRex.match(1).c_str());
-    double minNSISVersion = 2.09;
+    double minNSISVersion = 3.0;
     cmCPackLogger(cmCPackLog::LOG_DEBUG,
                   "NSIS Version: " << nsisVersion << std::endl);
     if (nsisVersion < minNSISVersion) {
       cmCPackLogger(cmCPackLog::LOG_ERROR,
-                    "CPack requires NSIS Version 2.09 or greater.  "
+                    "CPack requires NSIS Version 3.0 or greater.  "
                     "NSIS found on the system was: "
                       << nsisVersion << std::endl);
       return 0;