cmExtraCodeLiteGenerator.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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 <cmConfigure.h>
  15. #include "cmExternalMakefileProjectGenerator.h"
  16. #include <string>
  17. #include <vector>
  18. class cmLocalGenerator;
  19. class cmMakefile;
  20. class cmExtraCodeLiteGenerator : public cmExternalMakefileProjectGenerator
  21. {
  22. protected:
  23. std::string ConfigName;
  24. std::string WorkspacePath;
  25. unsigned int CpuCount;
  26. protected:
  27. std::string GetCodeLiteCompilerName(const cmMakefile* mf) const;
  28. std::string GetConfigurationName(const cmMakefile* mf) const;
  29. std::string GetBuildCommand(const cmMakefile* mf) const;
  30. std::string GetCleanCommand(const cmMakefile* mf) const;
  31. std::string GetRebuildCommand(const cmMakefile* mf) const;
  32. std::string GetSingleFileBuildCommand(const cmMakefile* mf) const;
  33. public:
  34. cmExtraCodeLiteGenerator();
  35. static cmExternalMakefileProjectGeneratorFactory* GetFactory();
  36. void Generate() CM_OVERRIDE;
  37. void CreateProjectFile(const std::vector<cmLocalGenerator*>& lgs);
  38. void CreateNewProjectFile(const std::vector<cmLocalGenerator*>& lgs,
  39. const std::string& filename);
  40. };
  41. #endif