first commit

This commit is contained in:
liyp
2026-08-25 22:12:29 -04:00
commit e6e5bd32b5
20 changed files with 3064 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
#ifndef CMAKEGENERATOR_H
#define CMAKEGENERATOR_H
#include <QObject>
#include <QString>
#include "projectconfig.h"
class CMakeGenerator : public QObject
{
Q_OBJECT
public:
explicit CMakeGenerator(QObject *parent = nullptr);
// 生成 CMakeLists.txt
bool generate(const ProjectConfig *config, const QString &outputPath);
// 获取最后生成的路径
QString getLastGeneratedPath() const;
signals:
void cmakeGenerated(const QString &path);
void errorOccurred(const QString &error);
private:
QString generateContent(const ProjectConfig *config);
QString generateHeader(const ProjectConfig *config);
QString generateProjectConfig(const ProjectConfig *config);
QString generateSourceFiles(const ProjectConfig *config);
QString generateIncludeDirs(const ProjectConfig *config);
QString generateLibraries(const ProjectConfig *config);
QString generateDefines(const ProjectConfig *config);
QString generateCompilerOptions(const ProjectConfig *config);
QString generateBuildTargets(const ProjectConfig *config);
QString m_lastGeneratedPath;
};
#endif // CMAKEGENERATOR_H