Allow NSIS package or uninstall icon (#11143)
Previously both CPACK_NSIS_MUI_ICON and CPACK_NSIS_MUI_UNIICON needed to be set for either to take effect. This commit allows either to be set rather than requiring both as users may well want to e.g. use a default uninstall icon but a custom install icon.
This commit is contained in:
parent
8e6ad8ce72
commit
fec32328b1
|
@ -129,14 +129,21 @@ int cmCPackNSISGenerator::PackageFiles()
|
|||
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Configure file: " << nsisInFileName
|
||||
<< " to " << nsisFileName << std::endl);
|
||||
if(this->IsSet("CPACK_NSIS_MUI_ICON")
|
||||
&& this->IsSet("CPACK_NSIS_MUI_UNIICON"))
|
||||
|| this->IsSet("CPACK_NSIS_MUI_UNIICON"))
|
||||
{
|
||||
std::string installerIconCode="!define MUI_ICON \"";
|
||||
installerIconCode += this->GetOption("CPACK_NSIS_MUI_ICON");
|
||||
installerIconCode += "\"\n";
|
||||
installerIconCode += "!define MUI_UNICON \"";
|
||||
installerIconCode += this->GetOption("CPACK_NSIS_MUI_UNIICON");
|
||||
installerIconCode += "\"\n";
|
||||
std::string installerIconCode;
|
||||
if(this->IsSet("CPACK_NSIS_MUI_ICON"))
|
||||
{
|
||||
installerIconCode += "!define MUI_ICON \"";
|
||||
installerIconCode += this->GetOption("CPACK_NSIS_MUI_ICON");
|
||||
installerIconCode += "\"\n";
|
||||
}
|
||||
if(this->IsSet("CPACK_NSIS_MUI_UNIICON"))
|
||||
{
|
||||
installerIconCode += "!define MUI_UNICON \"";
|
||||
installerIconCode += this->GetOption("CPACK_NSIS_MUI_UNIICON");
|
||||
installerIconCode += "\"\n";
|
||||
}
|
||||
this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_MUI_ICON_CODE",
|
||||
installerIconCode.c_str());
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue