forked from qt-creator/qt-creator
McuSupport: Denoise McuBuildStep
Change-Id: I519984d7bbdb84b1436184dc0bbd04be0967c3e5 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -37,10 +37,10 @@ namespace McuSupport::Internal {
|
|||||||
class DeployMcuProcessStep : public ProjectExplorer::AbstractProcessStep
|
class DeployMcuProcessStep : public ProjectExplorer::AbstractProcessStep
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static const Utils::Id id;
|
static const Id id;
|
||||||
static void showError(const QString &text);
|
static void showError(const QString &text);
|
||||||
|
|
||||||
DeployMcuProcessStep(ProjectExplorer::BuildStepList *bc, Utils::Id id);
|
DeployMcuProcessStep(ProjectExplorer::BuildStepList *bc, Id id);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString findKitInformation(ProjectExplorer::Kit *kit, const QString &key);
|
QString findKitInformation(ProjectExplorer::Kit *kit, const QString &key);
|
||||||
@@ -51,7 +51,7 @@ private:
|
|||||||
FilePathAspect outDir{this};
|
FilePathAspect outDir{this};
|
||||||
};
|
};
|
||||||
|
|
||||||
const Utils::Id DeployMcuProcessStep::id = "QmlProject.Mcu.DeployStep";
|
const Id DeployMcuProcessStep::id = "QmlProject.Mcu.DeployStep";
|
||||||
|
|
||||||
void DeployMcuProcessStep::showError(const QString &text)
|
void DeployMcuProcessStep::showError(const QString &text)
|
||||||
{
|
{
|
||||||
@@ -59,7 +59,7 @@ void DeployMcuProcessStep::showError(const QString &text)
|
|||||||
ProjectExplorer::TaskHub::addTask(task);
|
ProjectExplorer::TaskHub::addTask(task);
|
||||||
}
|
}
|
||||||
|
|
||||||
DeployMcuProcessStep::DeployMcuProcessStep(ProjectExplorer::BuildStepList *bc, Utils::Id id)
|
DeployMcuProcessStep::DeployMcuProcessStep(ProjectExplorer::BuildStepList *bc, Id id)
|
||||||
: AbstractProcessStep(bc, id)
|
: AbstractProcessStep(bc, id)
|
||||||
, m_tmpDir()
|
, m_tmpDir()
|
||||||
{
|
{
|
||||||
@@ -77,8 +77,8 @@ DeployMcuProcessStep::DeployMcuProcessStep(ProjectExplorer::BuildStepList *bc, U
|
|||||||
if (!kit)
|
if (!kit)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
QString root = findKitInformation(kit, Internal::Legacy::Constants::QUL_CMAKE_VAR);
|
const QString root = findKitInformation(kit, Internal::Legacy::Constants::QUL_CMAKE_VAR);
|
||||||
auto rootPath = Utils::FilePath::fromString(root);
|
const FilePath rootPath = FilePath::fromString(root);
|
||||||
|
|
||||||
cmd.setSettingsKey("QmlProject.Mcu.ProcessStep.Command");
|
cmd.setSettingsKey("QmlProject.Mcu.ProcessStep.Command");
|
||||||
cmd.setExpectedKind(PathChooser::Command);
|
cmd.setExpectedKind(PathChooser::Command);
|
||||||
@@ -86,27 +86,27 @@ DeployMcuProcessStep::DeployMcuProcessStep(ProjectExplorer::BuildStepList *bc, U
|
|||||||
cmd.setValue(rootPath.pathAppended("/bin/qmlprojectexporter"));
|
cmd.setValue(rootPath.pathAppended("/bin/qmlprojectexporter"));
|
||||||
|
|
||||||
const char *importPathConstant = QtSupport::Constants::KIT_QML_IMPORT_PATH;
|
const char *importPathConstant = QtSupport::Constants::KIT_QML_IMPORT_PATH;
|
||||||
Utils::FilePath qulIncludeDir = Utils::FilePath::fromVariant(kit->value(importPathConstant));
|
const FilePath qulIncludeDir = FilePath::fromVariant(kit->value(importPathConstant));
|
||||||
QStringList includeDirs {
|
QStringList includeDirs {
|
||||||
Utils::ProcessArgs::quoteArg(qulIncludeDir.toString()),
|
ProcessArgs::quoteArg(qulIncludeDir.toString()),
|
||||||
Utils::ProcessArgs::quoteArg(qulIncludeDir.pathAppended("Timeline").toString())
|
ProcessArgs::quoteArg(qulIncludeDir.pathAppended("Timeline").toString())
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *toolChainConstant = Internal::Constants::KIT_MCUTARGET_TOOLCHAIN_KEY;
|
const char *toolChainConstant = Internal::Constants::KIT_MCUTARGET_TOOLCHAIN_KEY;
|
||||||
QStringList arguments = {
|
QStringList arguments = {
|
||||||
Utils::ProcessArgs::quoteArg(buildSystem()->projectFilePath().toString()),
|
ProcessArgs::quoteArg(buildSystem()->projectFilePath().toString()),
|
||||||
"--platform", findKitInformation(kit, "QUL_PLATFORM"),
|
"--platform", findKitInformation(kit, "QUL_PLATFORM"),
|
||||||
"--toolchain", kit->value(toolChainConstant).toString(),
|
"--toolchain", kit->value(toolChainConstant).toString(),
|
||||||
"--include-dirs", includeDirs.join(","),
|
"--include-dirs", includeDirs.join(","),
|
||||||
};
|
};
|
||||||
|
|
||||||
args.setSettingsKey("QmlProject.Mcu.ProcessStep.Arguments");
|
args.setSettingsKey("QmlProject.Mcu.ProcessStep.Arguments");
|
||||||
args.setDisplayStyle(Utils::StringAspect::LineEditDisplay);
|
args.setDisplayStyle(StringAspect::LineEditDisplay);
|
||||||
args.setLabelText(QmlProjectManager::Tr::tr("Arguments:"));
|
args.setLabelText(QmlProjectManager::Tr::tr("Arguments:"));
|
||||||
args.setValue(Utils::ProcessArgs::joinArgs(arguments));
|
args.setValue(ProcessArgs::joinArgs(arguments));
|
||||||
|
|
||||||
outDir.setSettingsKey("QmlProject.Mcu.ProcessStep.BuildDirectory");
|
outDir.setSettingsKey("QmlProject.Mcu.ProcessStep.BuildDirectory");
|
||||||
outDir.setExpectedKind(Utils::PathChooser::Directory);
|
outDir.setExpectedKind(PathChooser::Directory);
|
||||||
outDir.setLabelText(QmlProjectManager::Tr::tr("Build directory:"));
|
outDir.setLabelText(QmlProjectManager::Tr::tr("Build directory:"));
|
||||||
outDir.setPlaceHolderText(m_tmpDir.path());
|
outDir.setPlaceHolderText(m_tmpDir.path());
|
||||||
|
|
||||||
@@ -116,7 +116,7 @@ DeployMcuProcessStep::DeployMcuProcessStep(ProjectExplorer::BuildStepList *bc, U
|
|||||||
directory = m_tmpDir.path();
|
directory = m_tmpDir.path();
|
||||||
|
|
||||||
CommandLine cmdLine(cmd());
|
CommandLine cmdLine(cmd());
|
||||||
cmdLine.addArgs(args(), Utils::CommandLine::Raw);
|
cmdLine.addArgs(args(), CommandLine::Raw);
|
||||||
cmdLine.addArg("--outdir");
|
cmdLine.addArg("--outdir");
|
||||||
cmdLine.addArg(directory);
|
cmdLine.addArg(directory);
|
||||||
return cmdLine;
|
return cmdLine;
|
||||||
|
Reference in New Issue
Block a user