diff --git a/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp b/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp index c323754a652..b18e2767306 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.cpp @@ -36,10 +36,23 @@ #include -#include -#include +namespace AutotoolsProjectManager { +namespace Internal { -using namespace AutotoolsProjectManager::Internal; +class AutotoolsProjectPluginRunData +{ +public: + AutotoolsBuildConfigurationFactory buildConfigurationFactory; + MakeStepFactory makeStepFaactory; + AutogenStepFactory autogenStepFactory; + ConfigureStepFactory configureStepFactory; + AutoreconfStepFactory autoreconfStepFactory; +}; + +AutotoolsProjectPlugin::~AutotoolsProjectPlugin() +{ + delete m_runData; +} void AutotoolsProjectPlugin::extensionsInitialized() { } @@ -50,13 +63,11 @@ bool AutotoolsProjectPlugin::initialize(const QStringList &arguments, Q_UNUSED(arguments) Q_UNUSED(errorString) - addAutoReleasedObject(new AutotoolsBuildConfigurationFactory); - addAutoReleasedObject(new MakeStepFactory); - addAutoReleasedObject(new AutogenStepFactory); - addAutoReleasedObject(new ConfigureStepFactory); - addAutoReleasedObject(new AutoreconfStepFactory); - + m_runData = new AutotoolsProjectPluginRunData; ProjectExplorer::ProjectManager::registerProjectType(Constants::MAKEFILE_MIMETYPE); return true; } + +} // Internal +} // AutotoolsProjectManager diff --git a/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.h b/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.h index 58d9ba8b19b..5e710ff0506 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsprojectplugin.h @@ -60,14 +60,19 @@ namespace Internal { * be executed in the build process) */ +class AutotoolsProjectPluginRunData; + class AutotoolsProjectPlugin : public ExtensionSystem::IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "AutotoolsProjectManager.json") -public: - void extensionsInitialized() override; - bool initialize(const QStringList &arguments, QString *errorString) override; + ~AutotoolsProjectPlugin() final; + + void extensionsInitialized() final; + bool initialize(const QStringList &arguments, QString *errorString) final; + + AutotoolsProjectPluginRunData *m_runData; }; } // namespace Internal