mirror of
https://github.com/reactos/CMake.git
synced 2024-12-02 16:46:36 +00:00
CPack/NSIS: Add options for custom welcome/finish titles + display on 3 lines
Fixes: #11275
This commit is contained in:
parent
60e7e5b605
commit
68b5af65fa
@ -133,3 +133,19 @@ on Windows Nullsoft Scriptable Install System.
|
||||
|
||||
Specify the name of the program to uninstall the version.
|
||||
Default is ``Uninstall``.
|
||||
|
||||
.. variable:: CPACK_NSIS_WELCOME_TITLE
|
||||
|
||||
The title to display on the top of the page for the welcome page.
|
||||
|
||||
.. variable:: CPACK_NSIS_WELCOME_TITLE_3LINES
|
||||
|
||||
Display the title in the welcome page on 3 lines instead of 2.
|
||||
|
||||
.. variable:: CPACK_NSIS_FINISH_TITLE
|
||||
|
||||
The title to display on the top of the page for the finish page.
|
||||
|
||||
.. variable:: CPACK_NSIS_FINISH_TITLE_3LINES
|
||||
|
||||
Display the title in the finish page on 3 lines instead of 2.
|
||||
|
10
Help/release/dev/cpack-nsis-welcome-finish-page-title.rst
Normal file
10
Help/release/dev/cpack-nsis-welcome-finish-page-title.rst
Normal file
@ -0,0 +1,10 @@
|
||||
cpack-nsis-welcome-finish-page-title
|
||||
------------------------------------
|
||||
|
||||
* The :cpack_gen:`CPack NSIS Generator` now supports
|
||||
:variable:`CPACK_NSIS_WELCOME_TITLE` and :variable:`CPACK_NSIS_WELCOME_TITLE_3LINES`.
|
||||
These can be used to specify the welcome page title and display it in 3 lines.
|
||||
|
||||
* The :cpack_gen:`CPack NSIS Generator` now supports
|
||||
:variable:`CPACK_NSIS_FINISH_TITLE` and :variable:`CPACK_NSIS_FINISH_TITLE_3LINES`.
|
||||
These can be used to specify the finish page title and display it in 3 lines.
|
@ -542,6 +542,8 @@ FunctionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Pages
|
||||
@CPACK_NSIS_INSTALLER_WELCOME_TITLE_CODE@
|
||||
@CPACK_NSIS_INSTALLER_WELCOME_TITLE_3LINES_CODE@
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
|
||||
!insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@"
|
||||
@ -557,6 +559,8 @@ FunctionEnd
|
||||
@CPACK_NSIS_PAGE_COMPONENTS@
|
||||
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
@CPACK_NSIS_INSTALLER_FINISH_TITLE_CODE@
|
||||
@CPACK_NSIS_INSTALLER_FINISH_TITLE_3LINES_CODE@
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
|
@ -129,14 +129,13 @@ int cmCPackNSISGenerator::PackageFiles()
|
||||
this->IsSet("CPACK_NSIS_MUI_UNIICON")) {
|
||||
std::string installerIconCode;
|
||||
if (this->IsSet("CPACK_NSIS_MUI_ICON")) {
|
||||
installerIconCode += "!define MUI_ICON \"";
|
||||
installerIconCode += this->GetOption("CPACK_NSIS_MUI_ICON");
|
||||
installerIconCode += "\"\n";
|
||||
installerIconCode += cmStrCat(
|
||||
"!define MUI_ICON \"", this->GetOption("CPACK_NSIS_MUI_ICON"), "\"\n");
|
||||
}
|
||||
if (this->IsSet("CPACK_NSIS_MUI_UNIICON")) {
|
||||
installerIconCode += "!define MUI_UNICON \"";
|
||||
installerIconCode += this->GetOption("CPACK_NSIS_MUI_UNIICON");
|
||||
installerIconCode += "\"\n";
|
||||
installerIconCode +=
|
||||
cmStrCat("!define MUI_UNICON \"",
|
||||
this->GetOption("CPACK_NSIS_MUI_UNIICON"), "\"\n");
|
||||
}
|
||||
this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_MUI_ICON_CODE",
|
||||
installerIconCode.c_str());
|
||||
@ -174,6 +173,32 @@ int cmCPackNSISGenerator::PackageFiles()
|
||||
installerRunCode.c_str());
|
||||
}
|
||||
|
||||
if (this->IsSet("CPACK_NSIS_WELCOME_TITLE")) {
|
||||
std::string welcomeTitleCode =
|
||||
cmStrCat("!define MUI_WELCOMEPAGE_TITLE \"",
|
||||
this->GetOption("CPACK_NSIS_WELCOME_TITLE"), "\"");
|
||||
this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_WELCOME_TITLE_CODE",
|
||||
welcomeTitleCode.c_str());
|
||||
}
|
||||
|
||||
if (this->IsSet("CPACK_NSIS_WELCOME_TITLE_3LINES")) {
|
||||
this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_WELCOME_TITLE_3LINES_CODE",
|
||||
"!define MUI_WELCOMEPAGE_TITLE_3LINES");
|
||||
}
|
||||
|
||||
if (this->IsSet("CPACK_NSIS_FINISH_TITLE")) {
|
||||
std::string finishTitleCode =
|
||||
cmStrCat("!define MUI_FINISHPAGE_TITLE \"",
|
||||
this->GetOption("CPACK_NSIS_FINISH_TITLE"), "\"");
|
||||
this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_FINISH_TITLE_CODE",
|
||||
finishTitleCode.c_str());
|
||||
}
|
||||
|
||||
if (this->IsSet("CPACK_NSIS_FINISH_TITLE_3LINES")) {
|
||||
this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_FINISH_TITLE_3LINES_CODE",
|
||||
"!define MUI_FINISHPAGE_TITLE_3LINES");
|
||||
}
|
||||
|
||||
// Setup all of the component sections
|
||||
if (this->Components.empty()) {
|
||||
this->SetOptionIfNotSet("CPACK_NSIS_INSTALLATION_TYPES", "");
|
||||
|
Loading…
Reference in New Issue
Block a user