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:
Mike McQuaid authored and David Cole committed 2011-01-06 15:14:38 -05:00
1 parent 8e6ad8ce72
commit fec32328b1
1 file changed
+14 -7
+14 -7
View File
@@ -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());
}