Преглед изворни кода

Merge topic 'nsis-branding-trim-position'

f226a1678f Merge branch 'master' into nsis-branding-trim-position
a6a5256395 CPack: Validate and document NSIS branding text trim positions

Acked-by: Kitware Robot <[email protected]>
Merge-request: !5928
Brad King пре 4 година
родитељ
комит
fde2347f98
2 измењених фајлова са 12 додато и 3 уклоњено
  1. 2 0
      Help/cpack_gen/nsis.rst
  2. 10 3
      Source/CPack/cmCPackNSISGenerator.cxx

+ 2 - 0
Help/cpack_gen/nsis.rst

@@ -193,6 +193,8 @@ 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``.
 
 .. variable:: CPACK_NSIS_EXECUTABLE
 

+ 10 - 3
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;
       }
     }