summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric LaFranchi <eric@lafranchi.com>2012-12-14 20:50:18 (GMT)
committerDavid Cole <david.cole@kitware.com>2012-12-28 20:32:15 (GMT)
commit3793dca08a41fd9199e65ff834b839b4f65397c7 (patch)
tree333247eb55f77dc0e666c20f98795fa02ca2d0c7
parentfb2db0e470002c372decf2aae2447de2cf27384c (diff)
downloadCMake-3793dca08a41fd9199e65ff834b839b4f65397c7.zip
CMake-3793dca08a41fd9199e65ff834b839b4f65397c7.tar.gz
CMake-3793dca08a41fd9199e65ff834b839b4f65397c7.tar.bz2
CPack: WIX Product Icon, UI Banner, UI Dialog support (#13789)
-rw-r--r--Modules/CPackWIX.cmake26
-rw-r--r--Modules/WIX.template.in13
-rw-r--r--Source/CPack/WiX/cmCPackWIXGenerator.cxx3
3 files changed, 42 insertions, 0 deletions
diff --git a/Modules/CPackWIX.cmake b/Modules/CPackWIX.cmake
index f278953..0c0a8f1 100644
--- a/Modules/CPackWIX.cmake
+++ b/Modules/CPackWIX.cmake
@@ -49,6 +49,32 @@
# by the WiX Generator in case CPACK_RESOURCE_FILE_LICENSE
# is in an unsupported format or the .txt -> .rtf
# conversion does not work as expected.
+#
+##end
+#
+##variable
+# CPACK_WIX_PRODUCT_ICON - The Icon shown next to the program name in Add/Remove programs.
+#
+# If set, this icon is used in place of the default icon.
+#
+##end
+#
+##variable
+# CPACK_WIX_UI_BANNER - The bitmap will appear at the top of all installer pages other than the welcome and completion dialogs.
+#
+# If set, this image will replace the default banner image.
+#
+# This image must be 493 by 58 pixels.
+#
+##end
+#
+##variable
+# CPACK_WIX_UI_DIALOG - Background bitmap used on the welcome and completion dialogs.
+#
+# If this variable is set, the installer will replace the default dialog image.
+#
+# This image must be 493 by 312 pixels.
+#
##end
#=============================================================================
diff --git a/Modules/WIX.template.in b/Modules/WIX.template.in
index 63fad7c..0bc7e10 100644
--- a/Modules/WIX.template.in
+++ b/Modules/WIX.template.in
@@ -24,6 +24,19 @@
<WixVariable Id="WixUILicenseRtf" Value="$(var.CPACK_WIX_LICENSE_RTF)"/>
<Property Id="WIXUI_INSTALLDIR" Value="INSTALL_ROOT"/>
+ <?ifdef CPACK_WIX_PRODUCT_ICON?>
+ <Property Id="ARPPRODUCTICON">ProductIcon.ico</Property>
+ <Icon Id="ProductIcon.ico" SourceFile="$(var.CPACK_WIX_PRODUCT_ICON)"/>
+ <?endif?>
+
+ <?ifdef CPACK_WIX_UI_BANNER?>
+ <WixVariable Id="WixUIBannerBmp" Value="$(var.CPACK_WIX_UI_BANNER)"/>
+ <?endif?>
+
+ <?ifdef CPACK_WIX_UI_DIALOG?>
+ <WixVariable Id="WixUIDialogBmp" Value="$(var.CPACK_WIX_UI_DIALOG)"/>
+ <?endif?>
+
<FeatureRef Id="ProductFeature"/>
<UIRef Id="WixUI_InstallDir" />
diff --git a/Source/CPack/WiX/cmCPackWIXGenerator.cxx b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
index 8b58625..e8b0ea9 100644
--- a/Source/CPack/WiX/cmCPackWIXGenerator.cxx
+++ b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
@@ -221,6 +221,9 @@ bool cmCPackWIXGenerator::CreateWiXVariablesIncludeFile()
CopyDefinition(includeFile, "CPACK_PACKAGE_NAME");
CopyDefinition(includeFile, "CPACK_PACKAGE_VERSION");
CopyDefinition(includeFile, "CPACK_WIX_LICENSE_RTF");
+ CopyDefinition(includeFile, "CPACK_WIX_PRODUCT_ICON");
+ CopyDefinition(includeFile, "CPACK_WIX_UI_BANNER");
+ CopyDefinition(includeFile, "CPACK_WIX_UI_DIALOG");
return true;
}