diff --git a/src/plugins/incredibuild/buildconsolebuildstep.cpp b/src/plugins/incredibuild/buildconsolebuildstep.cpp index 2b8bcd2185a..280382b1422 100644 --- a/src/plugins/incredibuild/buildconsolebuildstep.cpp +++ b/src/plugins/incredibuild/buildconsolebuildstep.cpp @@ -298,12 +298,21 @@ void BuildConsoleBuildStep::setupOutputFormatter(OutputFormatter *formatter) // BuildConsoleStepFactory -BuildConsoleStepFactory::BuildConsoleStepFactory() +class BuildConsoleStepFactory final : public BuildStepFactory { - registerStep(IncrediBuild::Constants::BUILDCONSOLE_BUILDSTEP_ID); - setDisplayName(Tr::tr("IncrediBuild for Windows")); - setSupportedStepLists({ProjectExplorer::Constants::BUILDSTEPS_BUILD, - ProjectExplorer::Constants::BUILDSTEPS_CLEAN}); +public: + BuildConsoleStepFactory() + { + registerStep(IncrediBuild::Constants::BUILDCONSOLE_BUILDSTEP_ID); + setDisplayName(Tr::tr("IncrediBuild for Windows")); + setSupportedStepLists({ProjectExplorer::Constants::BUILDSTEPS_BUILD, + ProjectExplorer::Constants::BUILDSTEPS_CLEAN}); + } +}; + +void setupBuildConsoleStep() +{ + static BuildConsoleStepFactory theBuildConsoleStepFactory; } } // IncrediBuild::Internal diff --git a/src/plugins/incredibuild/buildconsolebuildstep.h b/src/plugins/incredibuild/buildconsolebuildstep.h index 813e8dcb325..b73f0d4fec1 100644 --- a/src/plugins/incredibuild/buildconsolebuildstep.h +++ b/src/plugins/incredibuild/buildconsolebuildstep.h @@ -3,14 +3,8 @@ #pragma once -#include - namespace IncrediBuild::Internal { -class BuildConsoleStepFactory final : public ProjectExplorer::BuildStepFactory -{ -public: - BuildConsoleStepFactory(); -}; +void setupBuildConsoleStep(); } // IncrediBuild::Internal diff --git a/src/plugins/incredibuild/ibconsolebuildstep.cpp b/src/plugins/incredibuild/ibconsolebuildstep.cpp index 8dd68baa601..0fad6cbe74a 100644 --- a/src/plugins/incredibuild/ibconsolebuildstep.cpp +++ b/src/plugins/incredibuild/ibconsolebuildstep.cpp @@ -100,12 +100,21 @@ void IBConsoleBuildStep::setupOutputFormatter(OutputFormatter *formatter) // IBConsoleStepFactory -IBConsoleStepFactory::IBConsoleStepFactory() +class IBConsoleStepFactory final : public BuildStepFactory { - registerStep(IncrediBuild::Constants::IBCONSOLE_BUILDSTEP_ID); - setDisplayName(Tr::tr("IncrediBuild for Linux")); - setSupportedStepLists({ProjectExplorer::Constants::BUILDSTEPS_BUILD, - ProjectExplorer::Constants::BUILDSTEPS_CLEAN}); +public: + IBConsoleStepFactory() + { + registerStep(IncrediBuild::Constants::IBCONSOLE_BUILDSTEP_ID); + setDisplayName(Tr::tr("IncrediBuild for Linux")); + setSupportedStepLists({ProjectExplorer::Constants::BUILDSTEPS_BUILD, + ProjectExplorer::Constants::BUILDSTEPS_CLEAN}); + } +}; + +void setupIBConsoleStep() +{ + static IBConsoleStepFactory theIBConsoleStepFactory; } } // IncrediBuild::Internal diff --git a/src/plugins/incredibuild/ibconsolebuildstep.h b/src/plugins/incredibuild/ibconsolebuildstep.h index e44d27e5570..a8fb7259891 100644 --- a/src/plugins/incredibuild/ibconsolebuildstep.h +++ b/src/plugins/incredibuild/ibconsolebuildstep.h @@ -3,14 +3,8 @@ #pragma once -#include - namespace IncrediBuild::Internal { -class IBConsoleStepFactory : public ProjectExplorer::BuildStepFactory -{ -public: - IBConsoleStepFactory(); -}; +void setupIBConsoleStep(); } // IncrediBuild::Internal diff --git a/src/plugins/incredibuild/incredibuildplugin.cpp b/src/plugins/incredibuild/incredibuildplugin.cpp index 384ee0a760b..dba7c5bd610 100644 --- a/src/plugins/incredibuild/incredibuildplugin.cpp +++ b/src/plugins/incredibuild/incredibuildplugin.cpp @@ -8,25 +8,17 @@ namespace IncrediBuild::Internal { -class IncrediBuildPluginPrivate -{ -public: - BuildConsoleStepFactory buildConsoleStepFactory; - IBConsoleStepFactory ibConsolStepFactory; -}; - class IncrediBuildPlugin final : public ExtensionSystem::IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "IncrediBuild.json") public: - void initialize() override + void initialize() final { - d = std::make_unique(); + setupBuildConsoleStep(); + setupIBConsoleStep(); } - - std::unique_ptr d; }; } // IncrediBuild::Internal