cmWIXFeaturesSourceWriter.h 979 B

12345678910111213141516171819202122232425262728
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #pragma once
  4. #include "cmCPackGenerator.h"
  5. #include "cmWIXPatch.h"
  6. #include "cmWIXSourceWriter.h"
  7. /** \class cmWIXFeaturesSourceWriter
  8. * \brief Helper class to generate features.wxs
  9. */
  10. class cmWIXFeaturesSourceWriter : public cmWIXSourceWriter
  11. {
  12. public:
  13. cmWIXFeaturesSourceWriter(cmCPackLog* logger, std::string const& filename,
  14. GuidType componentGuidType);
  15. void CreateCMakePackageRegistryEntry(std::string const& package,
  16. std::string const& upgradeGuid);
  17. void EmitFeatureForComponentGroup(const cmCPackComponentGroup& group,
  18. cmWIXPatch& patch);
  19. void EmitFeatureForComponent(const cmCPackComponent& component,
  20. cmWIXPatch& patch);
  21. void EmitComponentRef(std::string const& id);
  22. };