#ifndef CMEXTRAQBSGENERATOR_H #define CMEXTRAQBSGENERATOR_H #include "cmExternalMakefileProjectGenerator.h" class cmGeneratorTarget; class cmExtraQbsGenerator : public cmExternalMakefileProjectGenerator { public: cmExtraQbsGenerator(); ~cmExtraQbsGenerator(); virtual std::string GetName() const { return cmExtraQbsGenerator::GetActualName(); } static std::string GetActualName() { return "Qbs"; } static cmExternalMakefileProjectGenerator *New() { return new cmExtraQbsGenerator; } /** Get the documentation entry for this generator. */ virtual void GetDocumentation(cmDocumentationEntry &entry, const std::string &fullName) const; virtual void Generate(); private: void CreateProjectFile(const std::string &name, const std::vector &lgs); void CreateNewProjectFile(const std::string &projectName, const std::vector &lgs, const std::string &filename); void AppendSubProject(cmGeneratedFileStream &fout, cmLocalGenerator *lg); void AppendProduct(cmGeneratedFileStream &fout, cmLocalGenerator *lg); void AppendTarget(cmGeneratedFileStream &fout, cmLocalGenerator *lg, const cmTarget &t, const std::string &cfg); void AppendSources(cmGeneratedFileStream &fout, cmGeneratorTarget *gt, const cmTarget &t, const std::string &cfg); void AppendIncludePaths(cmGeneratedFileStream &fout, const std::set &paths); void AppendCompileDefinitions(cmGeneratedFileStream &fout, const std::set &defs); }; #endif // CMEXTRAQBSGENERATOR_H