Commit a2ccbffd authored by Nils Gladitz's avatar Nils Gladitz

CPackWIX: Extend the patching mechanism to allow adding content to <Product>.

parent 8d38ff05
......@@ -148,6 +148,9 @@
# Currently fragments can be injected into most
# Component, File and Directory elements.
#
# The special Id ``#PRODUCT`` can be used to inject content
# into the ``<Product>`` element.
#
# The following example illustrates how this works.
#
# Given that the WiX generator creates the following XML element:
......@@ -233,7 +236,7 @@
# * ARPSIZE - Size (in kilobytes) of the application
#=============================================================================
# Copyright 2014 Kitware, Inc.
# Copyright 2014-2015 Kitware, Inc.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
......
......@@ -42,5 +42,6 @@
<UIRef Id="$(var.CPACK_WIX_UI_REF)" />
<?include "properties.wxi"?>
<?include "product_fragment.wxi"?>
</Product>
</Wix>
/*============================================================================
CMake - Cross Platform Makefile Generator
Copyright 2000-2014 Kitware, Inc., Insight Software Consortium
Copyright 2012-2015 Kitware, Inc., Insight Software Consortium
Distributed under the OSI-approved BSD License (the "License");
see accompanying file Copyright.txt for details.
......@@ -257,6 +257,7 @@ bool cmCPackWIXGenerator::PackageFilesImpl()
CreateWiXVariablesIncludeFile();
CreateWiXPropertiesIncludeFile();
CreateWiXProductFragmentIncludeFile();
if(!CreateWiXSourceFiles())
{
......@@ -385,6 +386,17 @@ void cmCPackWIXGenerator::CreateWiXPropertiesIncludeFile()
}
}
void cmCPackWIXGenerator::CreateWiXProductFragmentIncludeFile()
{
std::string includeFilename =
this->CPackTopLevel + "/product_fragment.wxi";
cmWIXSourceWriter includeFile(
this->Logger, includeFilename, true);
this->Patch->ApplyFragment("#PRODUCT", includeFile);
}
void cmCPackWIXGenerator::CopyDefinition(
cmWIXSourceWriter &source, std::string const& name)
{
......
/*============================================================================
CMake - Cross Platform Makefile Generator
Copyright 2000-2012 Kitware, Inc.
Copyright 2012-2015 Kitware, Inc.
Distributed under the OSI-approved BSD License (the "License");
see accompanying file Copyright.txt for details.
......@@ -76,6 +76,8 @@ private:
void CreateWiXPropertiesIncludeFile();
void CreateWiXProductFragmentIncludeFile();
void CopyDefinition(
cmWIXSourceWriter &source, std::string const& name);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment