summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2013-12-19 15:13:47 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2013-12-19 15:13:47 (GMT)
commiteb20fab73673c6a3cbcc705c6d22a27ab54740d8 (patch)
tree1efd207038ab71a1400d82ac93d454de1e30309a /Modules
parent3b00ff84d2759567564fd81b9d28ea6b952ec22e (diff)
parent8632233a2fc0e27106977a820b6b439e72b45383 (diff)
downloadCMake-eb20fab73673c6a3cbcc705c6d22a27ab54740d8.zip
CMake-eb20fab73673c6a3cbcc705c6d22a27ab54740d8.tar.gz
CMake-eb20fab73673c6a3cbcc705c6d22a27ab54740d8.tar.bz2
Merge topic 'wix-fragment-injection'
8632233 CPackWiX: allow customization of generated WiX sources
Diffstat (limited to 'Modules')
-rw-r--r--Modules/CPackWIX.cmake51
1 files changed, 51 insertions, 0 deletions
diff --git a/Modules/CPackWIX.cmake b/Modules/CPackWIX.cmake
index 237c5bc..d9e0ba7 100644
--- a/Modules/CPackWIX.cmake
+++ b/Modules/CPackWIX.cmake
@@ -116,6 +116,57 @@
# If this variable is not set, the default MSI template included with CMake
# will be used.
#
+# .. variable:: CPACK_WIX_PATCH_FILE
+#
+# Optional XML file with fragments to be inserted into generated WiX sources
+#
+# This optional variable can be used to specify an XML file that the
+# WiX generator will use to inject fragments into its generated
+# source files.
+#
+# Patch files understood by the CPack WiX generator
+# roughly follow this RELAX NG compact schema:
+#
+# .. code-block:: none
+#
+# start = CPackWiXPatch
+#
+# CPackWiXPatch = element CPackWiXPatch { CPackWiXFragment* }
+#
+# CPackWiXFragment = element CPackWiXFragment
+# {
+# attribute Id { string },
+# fragmentContent*
+# }
+#
+# fragmentContent = element * - CPackWiXFragment
+# {
+# (attribute * { text } | text | fragmentContent)*
+# }
+#
+# Currently fragments can be injected into most
+# Component, File and Directory elements.
+#
+# The following example illustrates how this works.
+#
+# Given that the WiX generator creates the following XML element:
+#
+# .. code-block:: xml
+#
+# <Component Id="CM_CP_applications.bin.my_libapp.exe" Guid="*"/>
+#
+# The following XML patch file may be used to inject an Environment element
+# into it:
+#
+# .. code-block:: xml
+#
+# <CPackWiXPatch>
+# <CPackWiXFragment Id="CM_CP_applications.bin.my_libapp.exe">
+# <Environment Id="MyEnvironment" Action="set"
+# Name="MyVariableName" Value="MyVariableValue"/>
+# </CPackWiXFragment>
+# </CPackWiXPatch>
+#
# .. variable:: CPACK_WIX_EXTRA_SOURCES
#
# Extra WiX source files