forked from qt-creator/qt-creator
CompilationDatabase: Allow to set custom build step and run command
In addition export the ProcessStep class from ProjectExplorer not to duplicate the code. Task-number: QTCREATORBUG-21727 Change-Id: I43d0c83b0338995fdb37ace940092c83ce2b6820 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <projectexplorer/buildconfiguration.h>
|
||||
#include <projectexplorer/project.h>
|
||||
#include <projectexplorer/treescanner.h>
|
||||
#include <texteditor/texteditor.h>
|
||||
@@ -51,7 +52,7 @@ public:
|
||||
explicit CompilationDatabaseProject(const Utils::FileName &filename);
|
||||
~CompilationDatabaseProject() override;
|
||||
bool needsConfiguration() const override { return false; }
|
||||
bool needsBuildConfigurations() const override { return false; }
|
||||
bool needsBuildConfigurations() const override { return true; }
|
||||
|
||||
private:
|
||||
RestoreResult fromMap(const QVariantMap &map, QString *errorMessage) override;
|
||||
@@ -77,5 +78,30 @@ public:
|
||||
CompilationDatabaseEditorFactory();
|
||||
};
|
||||
|
||||
class CompilationDatabaseBuildConfiguration : public ProjectExplorer::BuildConfiguration
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CompilationDatabaseBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
|
||||
ProjectExplorer::NamedWidget *createConfigWidget() override;
|
||||
BuildType buildType() const override;
|
||||
|
||||
protected:
|
||||
void initialize(const ProjectExplorer::BuildInfo &info) override;
|
||||
};
|
||||
|
||||
class CompilationDatabaseBuildConfigurationFactory
|
||||
: public ProjectExplorer::BuildConfigurationFactory
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CompilationDatabaseBuildConfigurationFactory();
|
||||
|
||||
QList<ProjectExplorer::BuildInfo> availableBuilds(
|
||||
const ProjectExplorer::Target *parent) const override;
|
||||
QList<ProjectExplorer::BuildInfo> availableSetups(const ProjectExplorer::Kit *k,
|
||||
const QString &projectPath) const override;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
} // namespace CompilationDatabaseProjectManager
|
||||
|
||||
Reference in New Issue
Block a user