diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index c2e4cdce080..445e9b1ab3b 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -117,7 +117,7 @@ ProjectExplorer::DeploymentKnowledge CMakeProject::deploymentKnowledge() const } MakeInstallCommand CMakeProject::makeInstallCommand(const Target *target, - const QString &installRoot) + const FilePath &installRoot) { MakeInstallCommand cmd; if (const BuildConfiguration * const bc = target->activeBuildConfiguration()) { @@ -131,12 +131,12 @@ MakeInstallCommand CMakeProject::makeInstallCommand(const Target *target, QStringList config; auto bs = qobject_cast(target->buildSystem()); - if (bs) { - if (bs->usesAllCapsTargets()) - installTarget = "INSTALL"; - if (bs->isMultiConfigReader()) - config << "--config" << bs->cmakeBuildType(); - } + QTC_ASSERT(bs, return {}); + + if (bs->usesAllCapsTargets()) + installTarget = "INSTALL"; + if (bs->isMultiConfigReader()) + config << "--config" << bs->cmakeBuildType(); FilePath buildDirectory = "."; if (auto bc = bs->buildConfiguration()) @@ -148,7 +148,7 @@ MakeInstallCommand CMakeProject::makeInstallCommand(const Target *target, cmd.command.addArg(installTarget); cmd.command.addArgs(config); - cmd.environment.set("DESTDIR", QDir::toNativeSeparators(installRoot)); + cmd.environment.set("DESTDIR", installRoot.nativePath()); return cmd; } diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.h b/src/plugins/cmakeprojectmanager/cmakeproject.h index ce7d6a13682..a1f1db439d4 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.h +++ b/src/plugins/cmakeprojectmanager/cmakeproject.h @@ -55,7 +55,7 @@ protected: private: ProjectExplorer::DeploymentKnowledge deploymentKnowledge() const override; ProjectExplorer::MakeInstallCommand makeInstallCommand(const ProjectExplorer::Target *target, - const QString &installRoot) override; + const Utils::FilePath &installRoot) final; mutable Internal::CMakeProjectImporter *m_projectImporter = nullptr; diff --git a/src/plugins/mesonprojectmanager/project/mesonproject.cpp b/src/plugins/mesonprojectmanager/project/mesonproject.cpp index aefc3f481d8..2406e35755f 100644 --- a/src/plugins/mesonprojectmanager/project/mesonproject.cpp +++ b/src/plugins/mesonprojectmanager/project/mesonproject.cpp @@ -25,9 +25,7 @@ #include "mesonproject.h" -#include "mesonbuildsystem.h" #include "mesonpluginconstants.h" -#include "exewrappers/mesontools.h" #include "settings/tools/kitaspect/mesontoolkitaspect.h" #include "settings/tools/kitaspect/ninjatoolkitaspect.h" @@ -79,8 +77,8 @@ ProjectExplorer::DeploymentKnowledge MesonProject::deploymentKnowledge() const return ProjectExplorer::DeploymentKnowledge::Bad; } -ProjectExplorer::MakeInstallCommand MesonProject::makeInstallCommand( - const ProjectExplorer::Target *target, const QString &installRoot) +ProjectExplorer::MakeInstallCommand MesonProject::makeInstallCommand(const ProjectExplorer::Target *target, + const Utils::FilePath &installRoot) { Q_UNUSED(target) Q_UNUSED(installRoot) diff --git a/src/plugins/mesonprojectmanager/project/mesonproject.h b/src/plugins/mesonprojectmanager/project/mesonproject.h index ca480a4cc2d..e07b82aa56b 100644 --- a/src/plugins/mesonprojectmanager/project/mesonproject.h +++ b/src/plugins/mesonprojectmanager/project/mesonproject.h @@ -47,7 +47,7 @@ public: private: ProjectExplorer::DeploymentKnowledge deploymentKnowledge() const override; ProjectExplorer::MakeInstallCommand makeInstallCommand(const ProjectExplorer::Target *target, - const QString &installRoot) override; + const Utils::FilePath &installRoot) final; mutable std::unique_ptr m_projectImporter; }; diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp index 25022df35df..23998359fb4 100644 --- a/src/plugins/projectexplorer/project.cpp +++ b/src/plugins/projectexplorer/project.cpp @@ -971,7 +971,7 @@ bool Project::hasMakeInstallEquivalent() const return d->m_hasMakeInstallEquivalent; } -MakeInstallCommand Project::makeInstallCommand(const Target *target, const QString &installRoot) +MakeInstallCommand Project::makeInstallCommand(const Target *target, const FilePath &installRoot) { QTC_ASSERT(hasMakeInstallEquivalent(), return MakeInstallCommand()); MakeInstallCommand cmd; @@ -980,7 +980,7 @@ MakeInstallCommand Project::makeInstallCommand(const Target *target, const QStri cmd.command.setExecutable(makeStep->makeExecutable()); } cmd.command.addArg("install"); - cmd.command.addArg("INSTALL_ROOT=" + QDir::toNativeSeparators(installRoot)); + cmd.command.addArg("INSTALL_ROOT=" + installRoot.nativePath()); return cmd; } diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h index 22495aa47a1..36cb94feeb0 100644 --- a/src/plugins/projectexplorer/project.h +++ b/src/plugins/projectexplorer/project.h @@ -149,7 +149,8 @@ public: virtual DeploymentKnowledge deploymentKnowledge() const { return DeploymentKnowledge::Bad; } bool hasMakeInstallEquivalent() const; - virtual MakeInstallCommand makeInstallCommand(const Target *target, const QString &installRoot); + virtual MakeInstallCommand makeInstallCommand(const Target *target, + const Utils::FilePath &installRoot); void setup(const QList &infoList); Utils::MacroExpander *macroExpander() const; diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp index ec551e4ee07..76de5d0da66 100644 --- a/src/plugins/projectexplorer/target.cpp +++ b/src/plugins/projectexplorer/target.cpp @@ -803,7 +803,7 @@ QVariant Target::additionalData(Utils::Id id) const return {}; } -MakeInstallCommand Target::makeInstallCommand(const QString &installRoot) const +MakeInstallCommand Target::makeInstallCommand(const FilePath &installRoot) const { return project()->makeInstallCommand(this, installRoot); } diff --git a/src/plugins/projectexplorer/target.h b/src/plugins/projectexplorer/target.h index 12cf80d01aa..a5503ff833b 100644 --- a/src/plugins/projectexplorer/target.h +++ b/src/plugins/projectexplorer/target.h @@ -114,7 +114,7 @@ public: void setNamedSettings(const QString &name, const QVariant &value); QVariant additionalData(Utils::Id id) const; - MakeInstallCommand makeInstallCommand(const QString &installRoot) const; + MakeInstallCommand makeInstallCommand(const Utils::FilePath &installRoot) const; Utils::MacroExpander *macroExpander() const; diff --git a/src/plugins/remotelinux/makeinstallstep.cpp b/src/plugins/remotelinux/makeinstallstep.cpp index 20d1a59fc09..c61df08f6cc 100644 --- a/src/plugins/remotelinux/makeinstallstep.cpp +++ b/src/plugins/remotelinux/makeinstallstep.cpp @@ -118,7 +118,8 @@ MakeInstallStep::MakeInstallStep(BuildStepList *parent, Id id) : MakeStep(parent QTemporaryDir tmpDir; installRootAspect->setFilePath(FilePath::fromString(tmpDir.path())); - const MakeInstallCommand cmd = target()->makeInstallCommand(tmpDir.path()); + + const MakeInstallCommand cmd = target()->makeInstallCommand(FilePath::fromString(tmpDir.path())); QTC_ASSERT(!cmd.command.isEmpty(), return); makeAspect->setExecutable(cmd.command.executable()); } @@ -167,7 +168,7 @@ bool MakeInstallStep::init() "last in the list of deploy steps. " "Consider moving it up."))); } - const MakeInstallCommand cmd = target()->makeInstallCommand(rootDir.path()); + const MakeInstallCommand cmd = target()->makeInstallCommand(rootDir); if (cmd.environment.isValid()) { Environment env = processParameters()->environment(); for (auto it = cmd.environment.constBegin(); it != cmd.environment.constEnd(); ++it) { @@ -255,7 +256,7 @@ void MakeInstallStep::updateArgsFromAspect() if (customCommandLineAspect()->isChecked()) return; - const CommandLine cmd = target()->makeInstallCommand(installRoot().toString()).command; + const CommandLine cmd = target()->makeInstallCommand(installRoot()).command; setUserArguments(cmd.arguments()); updateFullCommandLine(); }