cmQtAutoGenDigest.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #ifndef cmQtAutoGenDigest_h
  4. #define cmQtAutoGenDigest_h
  5. #include "cmConfigure.h" // IWYU pragma: keep
  6. #include <memory>
  7. #include <string>
  8. #include <vector>
  9. class cmGeneratorTarget;
  10. class cmQtAutoGenDigestQrc
  11. {
  12. public:
  13. cmQtAutoGenDigestQrc()
  14. : Generated(false)
  15. , Unique(false)
  16. {
  17. }
  18. public:
  19. std::string QrcFile;
  20. std::string QrcName;
  21. std::string PathChecksum;
  22. std::string RccFile;
  23. bool Generated;
  24. bool Unique;
  25. std::vector<std::string> Options;
  26. std::vector<std::string> Resources;
  27. };
  28. /** \class cmQtAutoGenDigest
  29. * \brief Filtered set of QtAutogen variables for a specific target
  30. */
  31. class cmQtAutoGenDigest
  32. {
  33. public:
  34. cmQtAutoGenDigest(cmGeneratorTarget* target)
  35. : Target(target)
  36. , MocEnabled(false)
  37. , UicEnabled(false)
  38. , RccEnabled(false)
  39. {
  40. }
  41. public:
  42. cmGeneratorTarget* Target;
  43. std::string QtVersionMajor;
  44. std::string QtVersionMinor;
  45. bool MocEnabled;
  46. bool UicEnabled;
  47. bool RccEnabled;
  48. std::vector<std::string> Headers;
  49. std::vector<std::string> Sources;
  50. std::vector<cmQtAutoGenDigestQrc> Qrcs;
  51. };
  52. // Utility types
  53. typedef std::unique_ptr<cmQtAutoGenDigest> cmQtAutoGenDigestUP;
  54. typedef std::vector<cmQtAutoGenDigestUP> cmQtAutoGenDigestUPV;
  55. #endif