Conan: Add "Build missing" option to conan install step

By default this option is set to true.

Task-number: QTCREATORBUG-25275
Change-Id: Ia7d628026e4ff7d20cf4b22db89d9b5b6ff5a9ca
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
This commit is contained in:
Jarek Kobus
2021-01-25 14:40:18 +01:00
parent f0cb3e3365
commit af61c47c10

View File

@@ -78,13 +78,21 @@ ConanInstallStep::ConanInstallStep(BuildStepList *bsl, Id id)
additionalArguments->setLabelText(tr("Additional arguments:"));
additionalArguments->setDisplayStyle(StringAspect::LineEditDisplay);
setCommandLineProvider([this, conanFile, additionalArguments] {
auto buildMissing = addAspect<BoolAspect>();
buildMissing->setSettingsKey("ConanPackageManager.InstallStep.BuildMissing");
buildMissing->setLabel("Build missing:", BoolAspect::LabelPlacement::InExtraLabel);
buildMissing->setDefaultValue(true);
setCommandLineProvider([=] {
BuildConfiguration::BuildType bt = buildConfiguration()->buildType();
const QString buildType = bt == BuildConfiguration::Release ? QString("Release")
: QString("Debug");
CommandLine cmd(ConanPlugin::conanSettings()->conanFilePath());
cmd.addArgs({"install", "-s", "build_type=" + buildType, conanFile->value()});
cmd.addArgs({"install", "-s", "build_type=" + buildType});
if (buildMissing->value())
cmd.addArg("--build=missing");
cmd.addArg(conanFile->value());
cmd.addArgs(additionalArguments->value(), CommandLine::Raw);
return cmd;
});