From cdca663ede498d9b4461568d766663884013c50f Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 13 Mar 2025 17:35:00 +0100 Subject: [PATCH] ProjectExplorer: Remove Target::_constructor_tag Change-Id: Ic9a25ec271af4bd4a9a2d916ab13833c883a9963 Reviewed-by: hjk --- src/plugins/projectexplorer/project.cpp | 10 +++++----- src/plugins/projectexplorer/target.cpp | 7 ++++++- src/plugins/projectexplorer/target.h | 8 +++----- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp index eeeb499af85..6eb5c58862c 100644 --- a/src/plugins/projectexplorer/project.cpp +++ b/src/plugins/projectexplorer/project.cpp @@ -300,7 +300,7 @@ Target *Project::addTargetForKit(Kit *kit) if (!kit || target(kit)) return nullptr; - auto t = std::make_unique(this, kit, Target::_constructor_tag{}); + auto t = Target::create(this, kit); Target *pointer = t.get(); t->updateDefaultBuildConfigurations(); @@ -534,7 +534,7 @@ Target *Project::createKitAndTargetFromStore(const Utils::Store &store) kit->setup(); }); QTC_ASSERT(k, return nullptr); - auto t = std::make_unique(this, k, Target::_constructor_tag{}); + auto t = Target::create(this, k); if (!t->fromMap(store)) return nullptr; @@ -636,7 +636,7 @@ bool Project::copySteps(const Utils::Store &store, Kit *targetKit) { Target *t = target(targetKit->id()); if (!t) { - auto t = std::make_unique(this, targetKit, Target::_constructor_tag{}); + auto t = Target::create(this, targetKit); if (!t->fromMap(store)) return false; @@ -905,7 +905,7 @@ void Project::createTargetFromMap(const Store &map, int index) return; } - auto t = std::make_unique(this, k, Target::_constructor_tag{}); + auto t = Target::create(this, k); if (!t->fromMap(targetMap)) return; @@ -1110,7 +1110,7 @@ BuildConfiguration *Project::setup(const BuildInfo &info) Target *t = target(k); std::unique_ptr newTarget; if (!t) { - newTarget = std::make_unique(this, k, Target::_constructor_tag{}); + newTarget = Target::create(this, k); t = newTarget.get(); } diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp index 5adf25f3cfd..7d6f0ece5f9 100644 --- a/src/plugins/projectexplorer/target.cpp +++ b/src/plugins/projectexplorer/target.cpp @@ -70,7 +70,12 @@ public: }; -Target::Target(Project *project, Kit *k, _constructor_tag) : +std::unique_ptr Target::create(Project *parent, Kit *k) +{ + return std::unique_ptr(new Target(parent, k)); +} + +Target::Target(Project *project, Kit *k) : QObject(project), d(std::make_unique(k)) { diff --git a/src/plugins/projectexplorer/target.h b/src/plugins/projectexplorer/target.h index 54e3484d349..3cb7804fbc6 100644 --- a/src/plugins/projectexplorer/target.h +++ b/src/plugins/projectexplorer/target.h @@ -36,11 +36,6 @@ class PROJECTEXPLORER_EXPORT Target : public QObject Q_OBJECT public: - struct _constructor_tag - { - explicit _constructor_tag() = default; - }; - Target(Project *parent, Kit *k, _constructor_tag); ~Target() override; void markAsShuttingDown(); @@ -100,6 +95,9 @@ signals: void activeDeployConfigurationChanged(ProjectExplorer::DeployConfiguration *dc); private: + static std::unique_ptr create(Project *parent, Kit *k); + Target(Project *parent, Kit *k); + bool fromMap(const Utils::Store &map); bool addConfigurationsFromMap(const Utils::Store &map, bool setActiveConfigurations);