forked from qt-creator/qt-creator
ProjectExplorer: Use CommandLine in MakeInstallCommand
Instead a FilePath/QStringList pair. Change-Id: I55340795266699e448ec1e17681a5e788eaae37a Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
@@ -123,7 +123,7 @@ MakeInstallCommand CMakeProject::makeInstallCommand(const Target *target,
|
||||
if (const BuildConfiguration * const bc = target->activeBuildConfiguration()) {
|
||||
if (const auto cmakeStep = bc->buildSteps()->firstOfType<CMakeBuildStep>()) {
|
||||
if (CMakeTool *tool = CMakeKitAspect::cmakeTool(target->kit()))
|
||||
cmd.command = tool->cmakeExecutable();
|
||||
cmd.command.setExecutable(tool->cmakeExecutable());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,8 +142,11 @@ MakeInstallCommand CMakeProject::makeInstallCommand(const Target *target,
|
||||
if (auto bc = bs->buildConfiguration())
|
||||
buildDirectory = bc->buildDirectory();
|
||||
|
||||
cmd.arguments << "--build" << buildDirectory.onDevice(cmd.command).path()
|
||||
<< "--target" << installTarget << config;
|
||||
cmd.command.addArg("--build");
|
||||
cmd.command.addArg(buildDirectory.onDevice(cmd.command.executable()).path());
|
||||
cmd.command.addArg("--target");
|
||||
cmd.command.addArg(installTarget);
|
||||
cmd.command.addArgs(config);
|
||||
|
||||
cmd.environment.set("DESTDIR", QDir::toNativeSeparators(installRoot));
|
||||
return cmd;
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#include "deployablefile.h"
|
||||
#include "projectexplorer_export.h"
|
||||
|
||||
#include <utils/commandline.h>
|
||||
#include <utils/environment.h>
|
||||
|
||||
#include <QList>
|
||||
@@ -39,8 +40,7 @@ enum class DeploymentKnowledge { Perfect, Approximative, Bad };
|
||||
class PROJECTEXPLORER_EXPORT MakeInstallCommand
|
||||
{
|
||||
public:
|
||||
Utils::FilePath command;
|
||||
QStringList arguments;
|
||||
Utils::CommandLine command;
|
||||
Utils::Environment environment;
|
||||
};
|
||||
|
||||
|
||||
@@ -977,9 +977,10 @@ MakeInstallCommand Project::makeInstallCommand(const Target *target, const QStri
|
||||
MakeInstallCommand cmd;
|
||||
if (const BuildConfiguration * const bc = target->activeBuildConfiguration()) {
|
||||
if (const auto makeStep = bc->buildSteps()->firstOfType<MakeStep>())
|
||||
cmd.command = makeStep->makeExecutable();
|
||||
cmd.command.setExecutable(makeStep->makeExecutable());
|
||||
}
|
||||
cmd.arguments << "install" << ("INSTALL_ROOT=" + QDir::toNativeSeparators(installRoot));
|
||||
cmd.command.addArg("install");
|
||||
cmd.command.addArg("INSTALL_ROOT=" + QDir::toNativeSeparators(installRoot));
|
||||
return cmd;
|
||||
}
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ MakeInstallStep::MakeInstallStep(BuildStepList *parent, Id id) : MakeStep(parent
|
||||
installRootAspect->setFilePath(FilePath::fromString(tmpDir.path()));
|
||||
const MakeInstallCommand cmd = target()->makeInstallCommand(tmpDir.path());
|
||||
QTC_ASSERT(!cmd.command.isEmpty(), return);
|
||||
makeAspect->setExecutable(cmd.command);
|
||||
makeAspect->setExecutable(cmd.command.executable());
|
||||
}
|
||||
|
||||
Utils::Id MakeInstallStep::stepId()
|
||||
@@ -254,9 +254,9 @@ void MakeInstallStep::updateArgsFromAspect()
|
||||
{
|
||||
if (customCommandLineAspect()->isChecked())
|
||||
return;
|
||||
setUserArguments(ProcessArgs::joinArgs(target()->makeInstallCommand(
|
||||
static_cast<StringAspect *>(aspect(InstallRootAspectId))->filePath().toString())
|
||||
.arguments));
|
||||
|
||||
const CommandLine cmd = target()->makeInstallCommand(installRoot().toString()).command;
|
||||
setUserArguments(cmd.arguments());
|
||||
updateFullCommandLine();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user