diff options
-rw-r--r-- | Help/cpack_gen/nsis.rst | 2 | ||||
-rw-r--r-- | Source/CPack/cmCPackNSISGenerator.cxx | 13 |
2 files changed, 12 insertions, 3 deletions
diff --git a/Help/cpack_gen/nsis.rst b/Help/cpack_gen/nsis.rst index eaef8ae..de1f3b5 100644 --- a/Help/cpack_gen/nsis.rst +++ b/Help/cpack_gen/nsis.rst @@ -193,3 +193,5 @@ 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. + Allowed values for this variable are ``LEFT``, ``CENTER`` or ``RIGHT``. + If not specified, the default behavior is ``LEFT``. diff --git a/Source/CPack/cmCPackNSISGenerator.cxx b/Source/CPack/cmCPackNSISGenerator.cxx index 263adfd..f1cc677 100644 --- a/Source/CPack/cmCPackNSISGenerator.cxx +++ b/Source/CPack/cmCPackNSISGenerator.cxx @@ -215,9 +215,16 @@ int cmCPackNSISGenerator::PackageFiles() if (this->IsSet("CPACK_NSIS_BRANDING_TEXT_TRIM_POSITION")) { std::string wantedPosition = this->GetOption("CPACK_NSIS_BRANDING_TEXT_TRIM_POSITION"); - const std::set<std::string> possiblePositions{ "CENTER", "LEFT", - "RIGHT" }; - if (possiblePositions.find(wantedPosition) != possiblePositions.end()) { + if (!wantedPosition.empty()) { + const std::set<std::string> possiblePositions{ "CENTER", "LEFT", + "RIGHT" }; + if (possiblePositions.find(wantedPosition) == + possiblePositions.end()) { + cmCPackLogger(cmCPackLog::LOG_ERROR, + "Unsupported branding text trim position " + << wantedPosition << std::endl); + return false; + } brandingTextPosition = wantedPosition; } } |