windowscmakensiscpack

how to use CPACK_NSIS_WELCOME_TITLE and CPACK_NSIS_FINISH_TITLE?


Using CPack and NSIS to package my application. Everything works well, with the exception of the following: I cannot figure out how to use CPACK_NSIS_WELCOME_TITLE and CPACK_NSIS_FINISH_TITLE.

All of my CPack options/customizations are in 1 place, just prior to calling INCLUDE (CPack). Here are examples of what I've tried:

SET ( CPACK_NSIS_WELCOME_TITLE          "afasfasf asfafasf test!!!" )
SET ( CPACK_NSIS_FINISH_TITLE           "blah blah blah testing" )

I've also tried the "3LINES" versions like this:

SET ( CPACK_NSIS_WELCOME_TITLE_3LINES   "This is the title line.\nMore text.\nThird line." )
SET ( CPACK_NSIS_FINISH_TITLE_3LINES    "afaf afafaf afasfaf affaf test test test afafasf afasfasf" )

While the installer is created without error, I don't see any of this text appearing anywhere on the welcome screen, the finish screen, or any other screen.

This is the version of cmake/cpack I'm using:

C:\src\Project\build64>"\Program Files\CMake\bin\cpack.exe" --version
cpack version 3.16.0-rc3

The end of the console output it generates seems to indicate there were no problems:

...
  CPack: Create package using NSIS
  CPack: Install projects
  CPack: - Install project: Project [Debug]
  CPack: Create package
  CPack: - package: C:/src/Project/build64/project_v1.0.1.exe generated.
FinalizeBuildStatus:
  Deleting file "x64\Debug\PACKAGE\PACKAGE.tlog\unsuccessfulbuild".
  Touching "x64\Debug\PACKAGE\PACKAGE.tlog\PACKAGE.lastbuildstate".
Done Building Project "C:\src\Project\build64\PACKAGE.vcxproj" (default targets).

Build succeeded.
    0 Warning(s)
    0 Error(s)

Solution

  • This question and its answer are confusing because you can't set CPACK_NSIS_WELCOME_TITLE_3LINES to a string. Instead you should turn it on:

    set(CPACK_NSIS_WELCOME_TITLE_3LINES   ON)
    

    and now you can set CPACK_NSIS_WELCOME_TITLE to 3 lines (normally you can only have 2 lines):

    set(CPACK_NSIS_WELCOME_TITLE   "This is the title line.\\\\nMore Text.\\\\nThird line.")
    

    Don't forget the 4 slashes to escape the pyramid of tools! ;-)