1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-21 23:00:50 +08:00

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
This commit is contained in:
Brad King
2020-03-31 10:54:31 -04:00
parent e3185e3d1b
commit aa78a2537c
3 changed files with 19 additions and 3 deletions

View File

@@ -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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@@ -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.

View File

@@ -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;