forked from qt-creator/qt-creator
CMake: Use Utils::CommandLine for CMakeBuildStep
Change-Id: I0490b1edf073c680f24ad7de10b544443ae62c5e Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -205,8 +205,6 @@ bool CMakeBuildStep::init()
|
||||
}
|
||||
}
|
||||
|
||||
QString arguments = allArguments(rc);
|
||||
|
||||
setIgnoreReturnValue(m_buildTarget == CMakeBuildStep::cleanTarget());
|
||||
|
||||
ProcessParameters *pp = processParameters();
|
||||
@@ -217,8 +215,7 @@ bool CMakeBuildStep::init()
|
||||
env.set("NINJA_STATUS", m_ninjaProgressString + "%o/sec] ");
|
||||
pp->setEnvironment(env);
|
||||
pp->setWorkingDirectory(bc->buildDirectory());
|
||||
pp->setCommand(cmakeCommand());
|
||||
pp->setArguments(arguments);
|
||||
pp->setCommandLine(cmakeCommand(rc));
|
||||
pp->resolveAll();
|
||||
|
||||
setOutputParser(new CMakeParser);
|
||||
@@ -342,12 +339,12 @@ void CMakeBuildStep::setToolArguments(const QString &list)
|
||||
m_toolArguments = list;
|
||||
}
|
||||
|
||||
QString CMakeBuildStep::allArguments(const CMakeRunConfiguration *rc) const
|
||||
Utils::CommandLine CMakeBuildStep::cmakeCommand(CMakeRunConfiguration *rc) const
|
||||
{
|
||||
QString arguments;
|
||||
CMakeTool *tool = CMakeKitAspect::cmakeTool(target()->kit());
|
||||
|
||||
Utils::QtcProcess::addArg(&arguments, "--build");
|
||||
Utils::QtcProcess::addArg(&arguments, ".");
|
||||
Utils::CommandLine cmd(tool ? tool->cmakeExecutable() : Utils::FilePath(), {});
|
||||
cmd.addArgs({"--build", "."});
|
||||
|
||||
QString target;
|
||||
|
||||
@@ -360,21 +357,14 @@ QString CMakeBuildStep::allArguments(const CMakeRunConfiguration *rc) const
|
||||
target = m_buildTarget;
|
||||
}
|
||||
|
||||
Utils::QtcProcess::addArg(&arguments, "--target");
|
||||
Utils::QtcProcess::addArg(&arguments, target);
|
||||
cmd.addArgs({"--target", target});
|
||||
|
||||
if (!m_toolArguments.isEmpty()) {
|
||||
Utils::QtcProcess::addArg(&arguments, "--");
|
||||
arguments += ' ' + m_toolArguments;
|
||||
cmd.addArg("--");
|
||||
cmd.addArgs(m_toolArguments);
|
||||
}
|
||||
|
||||
return arguments;
|
||||
}
|
||||
|
||||
Utils::FilePath CMakeBuildStep::cmakeCommand() const
|
||||
{
|
||||
CMakeTool *tool = CMakeKitAspect::cmakeTool(target()->kit());
|
||||
return tool ? tool->cmakeExecutable() : Utils::FilePath();
|
||||
return cmd;
|
||||
}
|
||||
|
||||
QString CMakeBuildStep::cleanTarget()
|
||||
@@ -530,8 +520,7 @@ void CMakeBuildStepConfigWidget::updateDetails()
|
||||
param.setMacroExpander(bc->macroExpander());
|
||||
param.setEnvironment(bc->environment());
|
||||
param.setWorkingDirectory(bc->buildDirectory());
|
||||
param.setCommand(m_buildStep->cmakeCommand());
|
||||
param.setArguments(m_buildStep->allArguments(nullptr));
|
||||
param.setCommandLine(m_buildStep->cmakeCommand(nullptr));
|
||||
|
||||
setSummaryText(param.summary(displayName()));
|
||||
}
|
||||
|
@@ -35,7 +35,10 @@ class QListWidget;
|
||||
class QListWidgetItem;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
namespace Utils { class PathChooser; }
|
||||
namespace Utils {
|
||||
class CommandLine;
|
||||
class PathChooser;
|
||||
} // Utils
|
||||
|
||||
namespace ProjectExplorer { class ToolChain; }
|
||||
|
||||
@@ -64,9 +67,7 @@ public:
|
||||
QString toolArguments() const;
|
||||
void setToolArguments(const QString &list);
|
||||
|
||||
QString allArguments(const CMakeRunConfiguration *rc) const;
|
||||
|
||||
Utils::FilePath cmakeCommand() const;
|
||||
Utils::CommandLine cmakeCommand(CMakeRunConfiguration *rc) const;
|
||||
|
||||
QVariantMap toMap() const override;
|
||||
|
||||
|
@@ -54,6 +54,7 @@
|
||||
|
||||
#include <utils/algorithm.h>
|
||||
#include <utils/qtcassert.h>
|
||||
#include <utils/qtcprocess.h>
|
||||
#include <utils/stringutils.h>
|
||||
#include <utils/hostosinfo.h>
|
||||
|
||||
@@ -635,7 +636,8 @@ MakeInstallCommand CMakeProject::makeInstallCommand(const Target *target,
|
||||
if (const BuildConfiguration * const bc = target->activeBuildConfiguration()) {
|
||||
if (const auto cmakeStep = bc->stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD)
|
||||
->firstOfType<CMakeBuildStep>()) {
|
||||
cmd.command = cmakeStep->cmakeCommand();
|
||||
if (CMakeTool *tool = CMakeKitAspect::cmakeTool(target->kit()))
|
||||
cmd.command = tool->cmakeExecutable();
|
||||
}
|
||||
}
|
||||
cmd.arguments << "--build" << "." << "--target" << "install";
|
||||
|
Reference in New Issue
Block a user