cmQtAutomoc.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #ifndef cmQtAutomoc_h
  2. #define cmQtAutomoc_h
  3. class cmGlobalGenerator;
  4. class cmMakefile;
  5. class cmQtAutomoc
  6. {
  7. public:
  8. cmQtAutomoc();
  9. bool Run(const char* targetDirectory);
  10. void SetupAutomocTarget(cmTarget* target);
  11. private:
  12. cmGlobalGenerator* CreateGlobalGenerator(cmake* cm,
  13. const char* targetDirectory);
  14. bool ReadAutomocInfoFile(cmMakefile* makefile,
  15. const char* targetDirectory);
  16. bool ReadOldMocDefinitionsFile(cmMakefile* makefile,
  17. const char* targetDirectory);
  18. void WriteOldMocDefinitionsFile(const char* targetDirectory);
  19. bool RunAutomocQt4();
  20. bool GenerateMoc(const std::string& sourceFile,
  21. const std::string& mocFileName);
  22. void ParseCppFile(const std::string& absFilename,
  23. std::map<std::string, std::string>& includedMocs,
  24. std::map<std::string, std::string>& notIncludedMocs);
  25. void Init();
  26. std::string Join(const std::list<std::string>& lst, char separator);
  27. bool EndsWith(const std::string& str, const std::string& with);
  28. bool StartsWith(const std::string& str, const std::string& with);
  29. std::string ReadAll(const std::string& filename);
  30. std::string QtMajorVersion;
  31. std::string Sources;
  32. std::string Headers;
  33. bool IncludeProjectDirsBefore;
  34. std::string Srcdir;
  35. std::string Builddir;
  36. std::string MocExecutable;
  37. std::string MocCompileDefinitionsStr;
  38. std::string MocDefinitionsStr;
  39. std::string MocIncludesStr;
  40. std::string ProjectBinaryDir;
  41. std::string ProjectSourceDir;
  42. std::string TargetName;
  43. std::string OldMocDefinitionsStr;
  44. std::string OutMocCppFilename;
  45. std::list<std::string> MocIncludes;
  46. std::list<std::string> MocDefinitions;
  47. bool Verbose;
  48. bool ColorOutput;
  49. bool RunMocFailed;
  50. bool GenerateAll;
  51. };
  52. #endif