cmExtraCodeLiteGenerator.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*============================================================================
  2. CMake - Cross Platform Makefile Generator
  3. Copyright 2004-2009 Kitware, Inc.
  4. Copyright 2004 Alexander Neundorf ([email protected])
  5. Copyright 2013 Eran Ifrah ([email protected])
  6. Distributed under the OSI-approved BSD License (the "License");
  7. see accompanying file Copyright.txt for details.
  8. This software is distributed WITHOUT ANY WARRANTY; without even the
  9. implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  10. See the License for more information.
  11. ============================================================================*/
  12. #ifndef cmGlobalCodeLiteGenerator_h
  13. #define cmGlobalCodeLiteGenerator_h
  14. #include "cmExternalMakefileProjectGenerator.h"
  15. class cmLocalGenerator;
  16. class cmExtraCodeLiteGenerator : public cmExternalMakefileProjectGenerator
  17. {
  18. protected:
  19. std::string ConfigName;
  20. std::string WorkspacePath;
  21. unsigned int CpuCount;
  22. protected:
  23. std::string GetCodeLiteCompilerName(const cmMakefile* mf) const;
  24. std::string GetConfigurationName(const cmMakefile* mf) const;
  25. std::string GetBuildCommand(const cmMakefile* mf) const;
  26. std::string GetCleanCommand(const cmMakefile* mf) const;
  27. std::string GetRebuildCommand(const cmMakefile* mf) const;
  28. std::string GetSingleFileBuildCommand(const cmMakefile* mf) const;
  29. public:
  30. cmExtraCodeLiteGenerator();
  31. static cmExternalMakefileProjectGeneratorFactory* GetFactory();
  32. void Generate() CM_OVERRIDE;
  33. void CreateProjectFile(const std::vector<cmLocalGenerator*>& lgs);
  34. void CreateNewProjectFile(const std::vector<cmLocalGenerator*>& lgs,
  35. const std::string& filename);
  36. };
  37. #endif