123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #ifndef cmExtraSublimeTextGenerator_h
- #define cmExtraSublimeTextGenerator_h
- #include "cmConfigure.h"
- #include "cmExternalMakefileProjectGenerator.h"
- #include <map>
- #include <string>
- #include <vector>
- class cmGeneratedFileStream;
- class cmGeneratorTarget;
- class cmLocalGenerator;
- class cmMakefile;
- class cmSourceFile;
- class cmExtraSublimeTextGenerator : public cmExternalMakefileProjectGenerator
- {
- public:
- static cmExternalMakefileProjectGeneratorFactory* GetFactory();
- typedef std::map<std::string, std::vector<std::string>> MapSourceFileFlags;
- cmExtraSublimeTextGenerator();
- void Generate() override;
- private:
- void CreateProjectFile(const std::vector<cmLocalGenerator*>& lgs);
- void CreateNewProjectFile(const std::vector<cmLocalGenerator*>& lgs,
- const std::string& filename);
-
- void AppendAllTargets(const std::vector<cmLocalGenerator*>& lgs,
- const cmMakefile* mf, cmGeneratedFileStream& fout,
- MapSourceFileFlags& sourceFileFlags);
-
- std::string BuildMakeCommand(const std::string& make, const char* makefile,
- const std::string& target);
-
- void AppendTarget(cmGeneratedFileStream& fout, const std::string& targetName,
- cmLocalGenerator* lg, cmGeneratorTarget* target,
- const char* make, const cmMakefile* makefile,
- const char* compiler, MapSourceFileFlags& sourceFileFlags,
- bool firstTarget);
-
- std::string ComputeFlagsForObject(cmSourceFile* source, cmLocalGenerator* lg,
- cmGeneratorTarget* gtgt);
- std::string ComputeDefines(cmSourceFile* source, cmLocalGenerator* lg,
- cmGeneratorTarget* gtgt);
- std::string ComputeIncludes(cmSourceFile* source, cmLocalGenerator* lg,
- cmGeneratorTarget* gtgt);
- bool Open(const std::string& bindir, const std::string& projectName,
- bool dryRun) override;
- bool ExcludeBuildFolder;
- std::string EnvSettings;
- };
- #endif
|