aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h')
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h44
1 files changed, 23 insertions, 21 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h
index 082b74c580..32a1b7278a 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h
+++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h
@@ -26,19 +26,16 @@
#pragma once
#include "cmakeconfigitem.h"
-#include "cmakeproject.h"
#include "configmodel.h"
+#include <projectexplorer/buildaspects.h>
#include <projectexplorer/buildconfiguration.h>
-#include <projectexplorer/buildtargetinfo.h>
-#include <projectexplorer/deploymentdata.h>
namespace CMakeProjectManager {
class CMakeProject;
namespace Internal {
-class BuildDirManager;
class CMakeBuildSystem;
class CMakeBuildSettingsWidget;
@@ -46,19 +43,17 @@ class CMakeBuildConfiguration final : public ProjectExplorer::BuildConfiguration
{
Q_OBJECT
- // used in DebuggerRunConfigurationAspect
- Q_PROPERTY(bool linkQmlDebuggingLibrary
- READ isQmlDebuggingEnabled
- NOTIFY configurationForCMakeChanged)
-
friend class ProjectExplorer::BuildConfigurationFactory;
- CMakeBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
+ CMakeBuildConfiguration(ProjectExplorer::Target *target, Utils::Id id);
~CMakeBuildConfiguration() final;
public:
- CMakeConfig configurationForCMake() const;
CMakeConfig configurationFromCMake() const;
+ QStringList extraCMakeArguments() const;
+
+ QStringList initialCMakeArguments() const;
+
QString error() const;
QString warning() const;
@@ -70,11 +65,11 @@ public:
void buildTarget(const QString &buildTarget);
ProjectExplorer::BuildSystem *buildSystem() const final;
-signals:
- void errorOccured(const QString &message);
- void warningOccured(const QString &message);
+ void runCMakeWithExtraArguments();
- void configurationForCMakeChanged();
+signals:
+ void errorOccurred(const QString &message);
+ void warningOccurred(const QString &message);
private:
QVariantMap toMap() const override;
@@ -88,15 +83,13 @@ private:
void clearError(ForceEnabledChanged fec = ForceEnabledChanged::False);
void setConfigurationFromCMake(const CMakeConfig &config);
- void setConfigurationForCMake(const QList<ConfigModel::DataItem> &items);
- void setConfigurationForCMake(const CMakeConfig &config);
+
+ void setExtraCMakeArguments(const QStringList &args);
+ void setInitialCMakeArguments(const QStringList &args);
void setError(const QString &message);
void setWarning(const QString &message);
- bool isQmlDebuggingEnabled() const;
-
- CMakeConfig m_configurationForCMake;
CMakeConfig m_initialConfiguration;
QString m_error;
QString m_warning;
@@ -104,10 +97,11 @@ private:
CMakeConfig m_configurationFromCMake;
CMakeBuildSystem *m_buildSystem = nullptr;
+ QStringList m_extraCMakeArguments;
+
friend class CMakeBuildSettingsWidget;
friend class CMakeBuildSystem;
friend class CMakeProject;
- friend class BuildDirManager;
};
class CMakeProjectImporter;
@@ -132,5 +126,13 @@ private:
friend class CMakeProjectImporter;
};
+class InitialCMakeArgumentsAspect final : public ProjectExplorer::BaseStringAspect
+{
+ Q_OBJECT
+
+public:
+ InitialCMakeArgumentsAspect();
+};
+
} // namespace Internal
} // namespace CMakeProjectManager