// Copyright (C) Filippo Cucchetto // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #pragma once #include #include #include #include namespace Nim { class NimCompilerBuildStep : public ProjectExplorer::AbstractProcessStep { Q_OBJECT public: enum DefaultBuildOptions { Empty = 0, Debug, Release}; NimCompilerBuildStep(ProjectExplorer::BuildStepList *parentList, Utils::Id id); void setBuildType(ProjectExplorer::BuildConfiguration::BuildType buildType); Utils::FilePath outFilePath() const; private: void setupOutputFormatter(Utils::OutputFormatter *formatter) override; QWidget *createConfigWidget() override; bool fromMap(const QVariantMap &map) override; QVariantMap toMap() const override; void updateTargetNimFile(); Utils::CommandLine commandLine(); DefaultBuildOptions m_defaultOptions; QStringList m_userCompilerOptions; Utils::FilePath m_targetNimFile; }; class NimCompilerBuildStepFactory : public ProjectExplorer::BuildStepFactory { public: NimCompilerBuildStepFactory(); }; } // Nim