aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/haskell
diff options
context:
space:
mode:
authorChristian Kandeler <[email protected]>2025-02-03 11:50:17 +0100
committerChristian Kandeler <[email protected]>2025-02-05 13:13:09 +0000
commit0e82412e156a06d4143ecece78f8a22a1abc0740 (patch)
treefb0906e1ed60e5ddb3de4e8e09188669821d8503 /src/plugins/haskell
parent563e2d3e736517c7dc0eece2f4d9b1e53aad4743 (diff)
Haskell: Make HaskellBuildSystem "per build config"
Diffstat (limited to 'src/plugins/haskell')
-rw-r--r--src/plugins/haskell/haskellproject.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/haskell/haskellproject.cpp b/src/plugins/haskell/haskellproject.cpp
index 54e3c5fdf2e..2a11cdead9a 100644
--- a/src/plugins/haskell/haskellproject.cpp
+++ b/src/plugins/haskell/haskellproject.cpp
@@ -52,7 +52,7 @@ static QVector<QString> parseExecutableNames(const FilePath &projectFilePath)
class HaskellBuildSystem final : public BuildSystem
{
public:
- HaskellBuildSystem(Target *t);
+ HaskellBuildSystem(BuildConfiguration *bc);
void triggerParsing() final;
@@ -66,8 +66,8 @@ private:
TreeScanner m_scanner;
};
-HaskellBuildSystem::HaskellBuildSystem(Target *t)
- : BuildSystem(t)
+HaskellBuildSystem::HaskellBuildSystem(BuildConfiguration *bc)
+ : BuildSystem(bc)
{
connect(&m_scanner, &TreeScanner::finished, this, [this] {
auto root = std::make_unique<ProjectNode>(projectDirectory());
@@ -127,7 +127,6 @@ public:
{
setId(Constants::C_HASKELL_PROJECT_ID);
setDisplayName(fileName.toFileInfo().completeBaseName());
- setBuildSystemCreator<HaskellBuildSystem>();
}
};
@@ -147,6 +146,7 @@ public:
}
QWidget *createConfigWidget() final;
+ BuildSystem *buildSystem() const final { return m_buildSystem; }
BuildType buildType() const final
{
@@ -160,6 +160,7 @@ public:
private:
BuildType m_buildType = BuildType::Release;
+ HaskellBuildSystem * const m_buildSystem{new HaskellBuildSystem(this)};
};
class HaskellBuildConfigurationWidget final : public QWidget