mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-26 08:29:54 -06:00
By setting CPACK_WIX_CAB_PER_COMPONENT users can generate one .cab per component instead of one .cab per installer. WiX compresses .cab files in parallel. This may potentially speed up installer creation. May also allow larger installers (there is a 2GB per .cab limit).
41 lines
1.6 KiB
C++
41 lines
1.6 KiB
C++
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file LICENSE.rst or https://cmake.org/licensing for details. */
|
|
#pragma once
|
|
|
|
#include "cmCPackGenerator.h"
|
|
#include "cmWIXPatch.h"
|
|
#include "cmWIXShortcut.h"
|
|
#include "cmWIXSourceWriter.h"
|
|
|
|
/** \class cmWIXFilesSourceWriter
|
|
* \brief Helper class to generate files.wxs
|
|
*/
|
|
class cmWIXFilesSourceWriter : public cmWIXSourceWriter
|
|
{
|
|
public:
|
|
cmWIXFilesSourceWriter(unsigned long wixVersion, cmCPackLog* logger,
|
|
std::string const& filename,
|
|
GuidType componentGuidType);
|
|
|
|
void EmitShortcut(std::string const& id, cmWIXShortcut const& shortcut,
|
|
std::string const& shortcutPrefix, size_t shortcutIndex);
|
|
|
|
void EmitRemoveFolder(std::string const& id);
|
|
|
|
void EmitInstallRegistryValue(std::string const& registryKey,
|
|
std::string const& cpackComponentName,
|
|
std::string const& suffix);
|
|
|
|
void EmitUninstallShortcut(std::string const& packageName);
|
|
|
|
std::string EmitComponentCreateFolder(std::string const& directoryId,
|
|
std::string const& guid,
|
|
cmInstalledFile const* installedFile);
|
|
|
|
std::string EmitComponentFile(std::string const& directoryId,
|
|
std::string const& id,
|
|
std::string const& filePath, cmWIXPatch& patch,
|
|
cmInstalledFile const* installedFile,
|
|
int diskId);
|
|
};
|