From d5f3335c5e9f812c98d837f4065d2294dee91e2d Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 26 Sep 2019 14:27:41 +0200 Subject: [PATCH] RemoteLinux: Use the "install to local dir" step in derived plugins That is, Boot2Qt and Qnx. Task-number: QTCREATORBUG-22822 Change-Id: Id48069c6ee2bc857a94be173b6c1de9bc69404a8 Reviewed-by: hjk --- src/plugins/boot2qt/qdbdeployconfigurationfactory.cpp | 8 +++++++- src/plugins/boot2qt/qdbplugin.cpp | 5 +++-- src/plugins/qnx/qnxplugin.cpp | 7 +++++++ src/plugins/remotelinux/makeinstallstep.cpp | 2 -- src/plugins/remotelinux/makeinstallstep.h | 6 +++--- 5 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/plugins/boot2qt/qdbdeployconfigurationfactory.cpp b/src/plugins/boot2qt/qdbdeployconfigurationfactory.cpp index c033b6b1019..7e973d86e18 100644 --- a/src/plugins/boot2qt/qdbdeployconfigurationfactory.cpp +++ b/src/plugins/boot2qt/qdbdeployconfigurationfactory.cpp @@ -33,8 +33,9 @@ #include #include -#include #include +#include +#include #include using namespace ProjectExplorer; @@ -51,6 +52,11 @@ QdbDeployConfigurationFactory::QdbDeployConfigurationFactory() "Deploy to Boot2Qt target")); setUseDeploymentDataView(); + addInitialStep(RemoteLinux::MakeInstallStep::stepId(), [](Target *target) { + const Project * const prj = target->project(); + return prj->deploymentKnowledge() == DeploymentKnowledge::Bad + && prj->hasMakeInstallEquivalent(); + }); addInitialStep(RemoteLinuxCheckForFreeDiskSpaceStep::stepId()); addInitialStep(QdbStopApplicationStep::stepId()); addInitialStep(GenericDirectUploadStep::stepId()); diff --git a/src/plugins/boot2qt/qdbplugin.cpp b/src/plugins/boot2qt/qdbplugin.cpp index 8a07dbba6c7..81a2fc80d05 100644 --- a/src/plugins/boot2qt/qdbplugin.cpp +++ b/src/plugins/boot2qt/qdbplugin.cpp @@ -46,6 +46,7 @@ #include #include +#include #include #include @@ -175,8 +176,8 @@ public: QdbDeployStepFactory m_checkForFreeDiskSpaceStepFactory; - QdbDeployStepFactory - m_directUploadStepFactory; + QdbDeployStepFactory m_directUploadStepFactory; + QdbDeployStepFactory m_makeInstallStepFactory; const QList supportedRunConfigs { m_runConfigFactory.id(), diff --git a/src/plugins/qnx/qnxplugin.cpp b/src/plugins/qnx/qnxplugin.cpp index a0780561369..c9f124b31a8 100644 --- a/src/plugins/qnx/qnxplugin.cpp +++ b/src/plugins/qnx/qnxplugin.cpp @@ -55,6 +55,7 @@ #include #include +#include #include #include @@ -90,6 +91,11 @@ public: addSupportedTargetDeviceType(Constants::QNX_QNX_OS_TYPE); setUseDeploymentDataView(); + addInitialStep(RemoteLinux::MakeInstallStep::stepId(), [](Target *target) { + const Project * const prj = target->project(); + return prj->deploymentKnowledge() == DeploymentKnowledge::Bad + && prj->hasMakeInstallEquivalent(); + }); addInitialStep(DeviceCheckBuildStep::stepId()); addInitialStep(RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceStep::stepId()); addInitialStep(RemoteLinux::GenericDirectUploadStep::stepId()); @@ -110,6 +116,7 @@ public: QnxDeployConfigurationFactory deployConfigFactory; GenericQnxDeployStepFactory directUploadDeployFactory; GenericQnxDeployStepFactory checkForFreeDiskSpaceDeployFactory; + GenericQnxDeployStepFactory makeInstallDeployFactory; GenericQnxDeployStepFactory checkBuildDeployFactory; QnxRunConfigurationFactory runConfigFactory; QnxSettingsPage settingsPage; diff --git a/src/plugins/remotelinux/makeinstallstep.cpp b/src/plugins/remotelinux/makeinstallstep.cpp index 3c2b798ca50..ccc19418fe3 100644 --- a/src/plugins/remotelinux/makeinstallstep.cpp +++ b/src/plugins/remotelinux/makeinstallstep.cpp @@ -45,7 +45,6 @@ using namespace ProjectExplorer; using namespace Utils; namespace RemoteLinux { -namespace Internal { const char MakeAspectId[] = "RemoteLinux.MakeInstall.Make"; const char InstallRootAspectId[] = "RemoteLinux.MakeInstall.InstallRoot"; @@ -228,5 +227,4 @@ bool MakeInstallStep::fromMap(const QVariantMap &map) return true; } -} // namespace Internal } // namespace RemoteLinux diff --git a/src/plugins/remotelinux/makeinstallstep.h b/src/plugins/remotelinux/makeinstallstep.h index 78f9029a9e6..9cc27c3435d 100644 --- a/src/plugins/remotelinux/makeinstallstep.h +++ b/src/plugins/remotelinux/makeinstallstep.h @@ -25,15 +25,16 @@ #pragma once +#include "remotelinux_export.h" + #include #include namespace Utils { class FilePath; } namespace RemoteLinux { -namespace Internal { -class MakeInstallStep : public ProjectExplorer::MakeStep +class REMOTELINUX_EXPORT MakeInstallStep : public ProjectExplorer::MakeStep { Q_OBJECT public: @@ -62,5 +63,4 @@ private: bool m_isCmakeProject = false; }; -} // namespace Internal } // namespace RemoteLinux